WPF 使用代码创建DataTemplate

FrameworkElementFactory用于以编程的方式创建模板,虽然文档中说不推荐,但WPF中常常使用这个类,例如DisplayMemberTemplateSelector

代码:

FrameworkElementFactory text = new FrameworkElementFactory(typeof(TextBlock));

Binding binding = new Binding

{

    Path = new PropertyPath("Name")

};

text.SetBinding(TextBlock.TextProperty, binding);

 

var xmlNodeContentTemplate = new DataTemplate();

xmlNodeContentTemplate.VisualTree = text;

xmlN

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是WPF ListBox绑定代码的示例: XAML代码: ``` <ListBox ItemsSource="{Binding MyCollection}"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <Image Source="{Binding Image}" Width="50" Height="50"/> <TextBlock Text="{Binding Name}" Margin="10 0 0 0"/> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> ``` C#代码: ``` public class Item { public string Name { get; set; } public string Image { get; set; } } public class ViewModel { public ObservableCollection<Item> MyCollection { get; set; } public ViewModel() { MyCollection = new ObservableCollection<Item>(); MyCollection.Add(new Item { Name = "Item 1", Image = "/Images/image1.png" }); MyCollection.Add(new Item { Name = "Item 2", Image = "/Images/image2.png" }); MyCollection.Add(new Item { Name = "Item 3", Image = "/Images/image3.png" }); } } public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DataContext = new ViewModel(); } } ``` 这段代码创建一个包含图像和名称的列表框,其中数据来自ViewModel类中的ObservableCollection MyCollection属性。其中,Item类用于表示列表框中的每个项。在XAML中,ListBox的ItemsSource属性绑定到MyCollection属性,并使用DataTemplate定义列表框中每个项的布局。在此示例中,每个项都包含一个图像和名称。在ViewModel类中,MyCollection属性初始化为三个Item对象。最后,将MainWindow的DataContext属性设置为ViewModel对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值