silverlight   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了wpf – 如何将ListBoxItem.IsSelected绑定到布尔数据属性大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我在Extended SELEctionMode中有一个 WPF ListBox. 我需要做的是将ListBox绑定到数据项类的可观察集合,这很容易,但实质上,将每个ListBoxItem的IsSELEcted状态绑定到相应数据项中的布尔属性. 并且,我需要它是双向的,以便我可以使用ViewModel中的选定和未选定项填充ListBox. 我看了很多实现,但没有一个适合我.他们包括: >将Data
我在Extended SELEctionMode中有一个 WPF ListBox.

我需要做的是将ListBox绑定到数据项类的可观察集合,这很容易,但实质上,将每个ListBoxItem的IsSELEcted状态绑定到相应数据项中的布尔属性.

并且,我需要它是双向的,以便我可以使用viewmodel中的选定和未选定项填充ListBox.

我看了很多实现,但没有一个适合我.他们包括

>将Datatrigger添加到ListBoxItem的样式并调用状态操作更改

我意识到这可以通过事件处理程序在代码隐藏中完成,但虑到域的复杂性,它将非常混乱.我宁愿坚持使用viewmodel进行双向绑定.

谢谢.
标记

解决方法

在WPF中,您可以轻松地将ListBox绑定到具有IsSELEcted状态的布尔属性的项集合.如果您的问题是关于Silverlight的话,我担心它不会轻松工作.

public class Item : INotifyPropertyChanged
{
    // INotifyPropertyChanged stuff not shown here for brevity
    public @R_696_10495@ng ItemText { get; set; }
    public bool IsItemSELEcted { get; set; }
}

public class viewmodel : INotifyPropertyChanged
{
    public viewmodel()
    {
        Items = new ObservableCollection<Item>();
    }

    // INotifyPropertyChanged stuff not shown here for brevity
    public ObservableCollection<Item> Items { get; set; }
}@H_618_40@ 
 
<ListBox Itemssource="{Binding Items,source={Staticresource viewmodel}}"
         SELEctionMode="Extended">
    <ListBox.ItemContainerStyle>
        <Style TargetType="ListBoxItem">
            <Setter Property="IsSELEcted" Value="{Binding IsItemSELEcteD}"/>
        </Style>
    </ListBox.ItemContainerStyle>
    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding ItemText}"/>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>@H_618_40@

大佬总结

以上是大佬教程为你收集整理的wpf – 如何将ListBoxItem.IsSelected绑定到布尔数据属性全部内容,希望文章能够帮你解决wpf – 如何将ListBoxItem.IsSelected绑定到布尔数据属性所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。