如何在c#XAML中访问DataTemplate内的控件(按钮)
我正在尝试制作一个有趣的漫画/meme应用程序,比如funnyjunk.com,它在每个漫画上都包含一个讨厌和喜欢的按钮,比如: 我的问题是:我无法从代码隐藏中访问DataTemplate中的厌恶/喜欢按钮。有没有办法访问DataTemplate中的按钮 在本例中,我使用的是ListView,下面是我的DataTemplate的外观:如何在c#XAML中访问DataTemplate内的控件(按钮),c#,wpf,xaml,listview,datatemplate,C#,Wpf,Xaml,Listview,Datatemplate,我正在尝试制作一个有趣的漫画/meme应用程序,比如funnyjunk.com,它在每个漫画上都包含一个讨厌和喜欢的按钮,比如: 我的问题是:我无法从代码隐藏中访问DataTemplate中的厌恶/喜欢按钮。有没有办法访问DataTemplate中的按钮 在本例中,我使用的是ListView,下面是我的DataTemplate的外观: <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Orientatio
<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>
这是我的DataContext(我将其命名为“数据源”):
公共类数据源
{
公共int ID{get;set;}
公共字符串标题{get;set;}
公共字符串图像{get;set;}
公共数据源(int\u ID、string\u Image、string\u Title)
{
ID=_ID;
图像=_图像;
Title=_Title;
}
}
公共类数据填充
{
公共列表漫画=新列表();
公共网页漫画()
{
添加(新数据源(1,“/Assets/Comic1.jpg”,“Jokur和Botmon”);
添加(新数据源(2,“/Assets/Comic2.jpg”,“Jokur和Botmon2”);
}
}
我想要实现的是:
我是WPF编程新手,提前谢谢。不要单击
而是使用命令属性将其绑定到视图模型。您是否在此应用程序中使用DataContext
?如果是,则共享一些相同的代码。
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);
}
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"));
}
}