如何将枚举ItemsControl绑定到WPF中的集合?

弗雷德·费克贝里

我想要一个绑定到集合的复选框列表。所以,当选择的选项,它们被添加到列表---当选项被选中,他们移除。

尝试了多种方法,但未能解决此问题。

模型

 public enum WeatherType
 {
    Rainy,
    Sunny,
    Cloudy,
    Windy
 }

视图模型

public class WeatherViewModel : INotifyPropertyChanged
{
    public ObservableCollection<WeatherType> WeatherTypes {get;set;}
    ...
}

XAML

 <ObjectDataProvider x:Key="weather"
            MethodName="GetValues"
            ObjectType="{x:Type sys:Enum}">
    <ObjectDataProvider.MethodParameters>
    <x:Type TypeName="business:WeatherType" />
    </ObjectDataProvider.MethodParameters>
</ObjectDataProvider>

...

<ItemsControl Grid.Row="4"
      Grid.Column="1"
      ItemsSource="{Binding Source={StaticResource weather}}">
<ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
    <StackPanel />
    </ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
    <DataTemplate>
    <StackPanel Orientation="Horizontal">
        <CheckBox Content="{Binding}" />
    </StackPanel>
    </DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
丹尼斯

声明一个天气类型的视图模型:

public class WeatherTypeViewModel
{
    public WeatherType WeatherType { get; set; }
    public bool IsChecked { get; set; }
}

像这样更改您的视图模型:

public class WeatherViewModel : INotifyPropertyChanged
{
    public ObservableCollection<WeatherTypeViewModel> WeatherTypes {get;set;}
    ...
}

和视图-像这样:

<ItemsControl Grid.Row="4"
      Grid.Column="1"
      ItemsSource="{Binding WeatherTypes}">
<ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
    <StackPanel />
    </ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
    <DataTemplate>
    <StackPanel Orientation="Horizontal">
        <CheckBox Content="{Binding WeatherType}" IsChecked="{Binding IsChecked}"/>
    </StackPanel>
    </DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将PreviewMouseDown绑定到ItemsControl中的FormattedText

来自分类Dev

如何将数据集合绑定到 WPF 应用程序中的 DataGrid?

来自分类Dev

将嵌套的ItemsControl绑定到嵌套的集合

来自分类Dev

如何将 ItemsControl(网格外)绑定到网格?

来自分类Dev

如何将数据绑定到WPF中的gridcontrol

来自分类Dev

WPF 如何将命令绑定到 RichTextBox 中的 ContextMenu?

来自分类Dev

如何将列表绑定到ItemsControl中的文本框

来自分类Dev

如何将集合绑定到图表系列项目源(WPF)

来自分类Dev

如何将WPF TabControl ContentTemplate绑定到不同ViewModel的可观察集合

来自分类Dev

如何将 <string, object> 字段集合绑定到 GridControl WPF?

来自分类Dev

绑定到WPF中的集合

来自分类Dev

如何将单选按钮绑定到枚举的属性?

来自分类Dev

如何将枚举绑定到 Switch 控件?沙马林

来自分类Dev

如何将枚举绑定到C#中具有空字段的组合框

来自分类Dev

如何将枚举绑定到telerik:ASP WebForms中的RadGrid

来自分类Dev

如何将多个项目添加到ItemsSource WPF多个集合绑定中?

来自分类Dev

如何将ListboxItem绑定为WPF中的可观察集合,并在顶部插入新记录

来自分类Dev

WPF将GridView绑定到集合中的元素

来自分类Dev

如何将多个对象绑定到集合?

来自分类Dev

如何将DataGrid绑定到更多集合?

来自分类Dev

将列表绑定到ItemsControl:如何刷新

来自分类Dev

将列表绑定到ItemsControl:如何刷新

来自分类Dev

如何将WMI集合显示到WPF DataGrid

来自分类Dev

WPF:将大型集合绑定到GridControl

来自分类Dev

如何将 Expander 的 IsExpanded 属性绑定到 Items.Count 作为 ItemsControl in Style 的 Expander 内容

来自分类Dev

如何将 ObservableCollection 的前 N 个项目绑定到 ItemsControl?

来自分类Dev

如何将XML绑定到WPF TreeView?

来自分类Dev

WPF:如何将通用数据绑定到TreeView?

来自分类Dev

如何将WPF控件绑定到类方法的结果?

Related 相关文章

  1. 1

    如何将PreviewMouseDown绑定到ItemsControl中的FormattedText

  2. 2

    如何将数据集合绑定到 WPF 应用程序中的 DataGrid?

  3. 3

    将嵌套的ItemsControl绑定到嵌套的集合

  4. 4

    如何将 ItemsControl(网格外)绑定到网格?

  5. 5

    如何将数据绑定到WPF中的gridcontrol

  6. 6

    WPF 如何将命令绑定到 RichTextBox 中的 ContextMenu?

  7. 7

    如何将列表绑定到ItemsControl中的文本框

  8. 8

    如何将集合绑定到图表系列项目源(WPF)

  9. 9

    如何将WPF TabControl ContentTemplate绑定到不同ViewModel的可观察集合

  10. 10

    如何将 <string, object> 字段集合绑定到 GridControl WPF?

  11. 11

    绑定到WPF中的集合

  12. 12

    如何将单选按钮绑定到枚举的属性?

  13. 13

    如何将枚举绑定到 Switch 控件?沙马林

  14. 14

    如何将枚举绑定到C#中具有空字段的组合框

  15. 15

    如何将枚举绑定到telerik:ASP WebForms中的RadGrid

  16. 16

    如何将多个项目添加到ItemsSource WPF多个集合绑定中?

  17. 17

    如何将ListboxItem绑定为WPF中的可观察集合,并在顶部插入新记录

  18. 18

    WPF将GridView绑定到集合中的元素

  19. 19

    如何将多个对象绑定到集合?

  20. 20

    如何将DataGrid绑定到更多集合?

  21. 21

    将列表绑定到ItemsControl:如何刷新

  22. 22

    将列表绑定到ItemsControl:如何刷新

  23. 23

    如何将WMI集合显示到WPF DataGrid

  24. 24

    WPF:将大型集合绑定到GridControl

  25. 25

    如何将 Expander 的 IsExpanded 属性绑定到 Items.Count 作为 ItemsControl in Style 的 Expander 内容

  26. 26

    如何将 ObservableCollection 的前 N 个项目绑定到 ItemsControl?

  27. 27

    如何将XML绑定到WPF TreeView?

  28. 28

    WPF:如何将通用数据绑定到TreeView?

  29. 29

    如何将WPF控件绑定到类方法的结果?

热门标签

归档