<VisualBrush> <VisualBrush.Visual> <UniformGrID Height="500" WIDth="500" Rows="1" Columns="{Binding BucketCount}"> <Rectangle GrID.Row="0" GrID.Column="0" Fill="#22ADD8E6" /> <Rectangle GrID.Row="0" GrID.Column="1" Fill="#22D3D3D3"/> <Rectangle GrID.Row="0" GrID.Column="2" Fill="#22ADD8E6"/> <Rectangle GrID.Row="0" GrID.Column="3" Fill="#22D3D3D3"/> </UniformGrID> </VisualBrush.Visual><VisualBrush>
如何绑定我的ObservableCollection矩形? UniformGrID上没有“ItemsSource”属性.我需要使用ItemsControl吗?如果是这样,我该怎么做?
提前致谢.
解决方法 您可以像这样使用ItemsControl绑定. ItemsSource只是一个ObservableCollection< Brush>的简单示例<VisualBrush> <VisualBrush.Visual> <ItemsControl x:name="itemsControl" ItemsSource="{Binding MyBrushes}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <UniformGrID Height="500" WIDth="500" Rows="1"/> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <Rectangle Fill="{Binding}"/> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </VisualBrush.Visual></VisualBrush>
更新
它适用于我的使用场景,但我可能会在这里遗漏一些东西.这是我尝试过的完整代码.我从两者得到了相同的结果
MainWindow.xaml
<GrID> <GrID.Background> <VisualBrush> <VisualBrush.Visual> <ItemsControl x:name="itemsControl" ItemsSource="{Binding MyBrushes}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <UniformGrID Height="500" WIDth="500" Rows="1"/> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <Rectangle Fill="{Binding}"/> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> <!--<UniformGrID Height="500" WIDth="500" Rows="1" Columns="4"> <Rectangle GrID.Row="0" GrID.Column="0" Fill="#22ADD8E6" /> <Rectangle GrID.Row="0" GrID.Column="1" Fill="#22D3D3D3"/> <Rectangle GrID.Row="0" GrID.Column="2" Fill="#22ADD8E6"/> <Rectangle GrID.Row="0" GrID.Column="3" Fill="#22D3D3D3"/> </UniformGrID>--> </VisualBrush.Visual> </VisualBrush> </GrID.Background></GrID>
MainWindow.xaml.cs
public partial class MainWindow : Window{ public MainWindow() { InitializeComponent(); BrushConverter brushConverter = new BrushConverter(); MyBrushes = new ObservableCollection<Brush>(); MyBrushes.Add(brushConverter.ConvertFrom("#22ADD8E6") as Brush); MyBrushes.Add(brushConverter.ConvertFrom("#22D3D3D3") as Brush); MyBrushes.Add(brushConverter.ConvertFrom("#22ADD8E6") as Brush); MyBrushes.Add(brushConverter.ConvertFrom("#22D3D3D3") as Brush); this.DataContext = this; } public ObservableCollection<Brush> MyBrushes { get; set; }}总结
以上是内存溢出为你收集整理的wpf – 使用UniformGrid的MVVM和数据绑定全部内容,希望文章能够帮你解决wpf – 使用UniformGrid的MVVM和数据绑定所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)