我正在尝试创建一个有趣的漫画/ meme应用程序,如funnyjunk.com,其中包含每个漫画中的不喜欢和类似按钮,如下所示:http://s9.postimg.org/ikiyo7iy7/funnyjunk.png
我的问题是:我无法从代码隐藏的代码中访问DataTemplate中的不喜欢/类似按钮。有没有办法访问DataTemplate中的按钮?
我在这种情况下使用ListView,这就是我的DataTemplate的样子:
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Vertical">
<StackPanel>
<Image Source="{Binding Image}" Height="600" Width="800" Stretch="UniformToFill"/>
</StackPanel>
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
<Button x:Name="blike" Content="L" FontSize="70" HorizontalAlignment="Center" VerticalAlignment="Center" Click="blike_Click"/>
<TextBlock x:Name="tblrate" Text="0" FontSize="70" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<Button x:Name="bdislike" Content="D" FontSize="70" HorizontalAlignment="Center" VerticalAlignment="Center" Click="bdislike_Click"/>
</StackPanel>
</StackPanel>
以下是按钮的代码:
private void blike_Click(object sender, RoutedEventArgs e)
{
int rate = Convert.ToInt16(tblrate.Text);
rate += 1;
tblrate.Text = Convert.ToString(rate);
}
private void bdislike_Click(object sender, RoutedEventArgs e)
{
int rate = Convert.ToInt16(tblrate.Text);
rate -= 1;
tblrate.Text = Convert.ToString(rate);
}
这是我的DataContext(我把它命名为“DataSource”):
public class DataSource
{
public int ID { get; set; }
public string Title { get; set; }
public string Image { get; set; }
public DataSource(int _ID, string _Image, string _Title)
{
ID = _ID;
Image = _Image;
Title = _Title;
}
}
public class DataFill
{
public List<DataSource> Comics= new List<DataSource>();
public void MainPageComics()
{
Comics.Add(new DataSource(1, "/Assets/Comic1.jpg", "Jokur and Botmon"));
Comics.Add(new DataSource(2, "/Assets/Comic2.jpg", "Jokur and Botmon2"));
}
}
我想要实现的目标是:
我尝试过:
第一个回答Jerry Nixon的教程(它只适用于文本框而不是文本块,我不明白为什么)
我仍然试图理解使用Command属性,这非常复杂。 如果您有一个非常有用的教程视频,我仍然在寻找使用ICommands的教程。
我是WPF编程的新手,非常感谢你。