首页 > 其他分享 >handycontrol的CheckComboBox的SelectedItems顺序

handycontrol的CheckComboBox的SelectedItems顺序

时间:2024-09-21 16:24:36浏览次数:9  
标签:Function handycontrol CheckComboBox FunctionName SelectedItems 顺序 new FunctionId

【实现效果】

【问题】handycontrol的CheckComboBox没有SelectedItems这一项:

当保存下来的选中项,需要在下次打开的时候加载,而handycontrol的CheckComboBox没有SelectedItems,

于是就先解决如何拿到绑定SelectedItems,通过附加属性的方式:

WPF 使用附加属性来绑定ListBox的SelectedItems - 只吃肉不喝酒 - 博客园 (cnblogs.com)参考这个帖子

但从实现效果上看,我的需求是:我保存下来的是什么顺序显示的就是什么顺序

 这是我保存下来的顺序(SelectedItems的值)

 重新打开读取后的SelectedItems值的顺序变成了ItemsSource给的值的顺序

//ItemsSource的值
FunctionComboBoxSource = new List<Function>()
{
new Function(){FunctionId="001",FunctionName="测直径"},
new Function(){FunctionId="002",FunctionName="测倒角"},
new Function(){FunctionId="003",FunctionName="测厚度"},
new Function(){FunctionId="004",FunctionName="正反面识别"},
new Function(){FunctionId="005",FunctionName="标定"},
new Function(){FunctionId="006",FunctionName="对位"},
};

然后我尝试调整SelectedItems里的项的顺序,发现如下:

 

 最后细心观察,在进OnSelectedItemsChanged这个方法的时候,控件都没初始完,就是说在给SelectedItems赋值的时候ItemsSource还是空的,可能是因为这个原因导致add的时候加不进去数据,但数据后来又莫名奇妙有。

最后的解决办法就是:在控件加载完之后(即有了ItemsSource数据后),再给SelectedItems赋值:

//StationSettingView.xaml.cs
public StationSettingView()
{
    InitializeComponent();
    this.Loaded += StationSettingView_Loaded;

}

//初始化完成后的方法
private void StationSettingView_Loaded(object sender, RoutedEventArgs e)
{
    var viewModel = (StationSettingViewModel)this.DataContext;
    //去viewModel中赋值SelectedItems
    viewModel.LoadedCommand.Execute();
}

重要的一点:

// stat.LstFunction是SelectedItems的绑定数据,在viewModel的构造函数中要先不为空,否则OnSelectedItemsChanged这个方法进不去
stat.LstFunction= new ObservableCollection<Camera>();

 

标签:Function,handycontrol,CheckComboBox,FunctionName,SelectedItems,顺序,new,FunctionId
From: https://www.cnblogs.com/moon-stars/p/18424154

相关文章

  • HandyControl 初识 第一次正确引入
    在App.xaml配置HandyControl,一个是皮肤资源,一个是主题资源完整代码:`<Application.Resources><ResourceDictionary><ResourceDictionary.MergedDictionaries><ResourceDictionarySource="pack://application:,,,/HandyControl;compone......
  • HandyControl 使用内置Command 执行无效问题
    HandyControl中通过查阅代码HandyControl_Shared共享项目中,Interactivity/Commands目录下,存在着一些内置Command,开心发现还有关闭窗体,最小化等系统级别常用命令。CloseWindowCommand.csControlCommands.csOpenLinkCommand.csPushMainWindow2TopCommand.csScreenshotComm......
  • Handycontrol组件库的Bug
    我的WPF程序使用了Handycontrol组件库,前端写了<ButtonWidth="100"Height="30"Margin="40,20,20,-100"HorizontalAlignment="Center"Background="#FF0078D7"Command="{Bindin......
  • HandyControl发现bug
    HandyControl3.4以上的版本 ListView 这样写不显示数据,3.4可以<Grid><Grid.RowDefinitions><RowDefinitionHeight="40"/><RowDefinition/><RowDefinition/></Grid.RowDefinitions&g......
  • cxCheckComboBox1学习(22)
    cxCheckComboBox1顾名思义,就是CheckBox与ComboBox的组合选择控件01]Item的添加 02]取已勾选的内容:cxCheckComboBox1.Text 03]取已勾选的内容:procedureTForm13.Button1Click(Sender:TObject);varidx,cnt:Integer;begincnt:=cxCheckComboBox1.Properties......
  • 【转】【WPF】HandyControl调整样式色系
    资源引用以案例项目App.xaml作为系统资源入口,存在如下关系App.xaml:<Application.Resources><ResourceDictionary><ResourceDictionary.MergedDictionaries><ResourceDictionary><ResourceDictionary.......
  • 【C#】【WPF】WPF开源控件库HandyControl应用
    1、首先使用nuget包管理器下载handycontrol 2、app.xaml里面引用,这样可以使用里面的样式<Applicationx:Class="HandyControlTest.App"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microso......
  • 循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发
    https://www.cnblogs.com/wuhuacong/tag/WPF/ 在我们的SqlSugar的开发框架中,整合了Winform端、Vue3+ElementPlus的前端、以及基于UniApp+Vue+ThorUI的移动前端几个前端处理,基本上覆盖了我们日常的应用模式了,本篇随笔进一步介绍前端应用的领域,研究集成WPF的应用端,循序渐进介绍基......
  • 循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(6) -- 窗口控
    在我们窗口新增、编辑状态下的时候,我们往往会根据是否修改过的痕迹-也就是脏数据状态进行跟踪,如果用户发生了数据修改,我们在用户退出窗口的时候,提供用户是否丢弃修改还是继续编辑,这样在一些重要录入时的时候,可以避免用户不小心关掉窗口,导致窗口的数据要重新录入的尴尬场景。本篇随......
  • 循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(4) -- 实现Da
    在我们设计软件的很多地方,都看到需要对表格数据进行导入和导出的操作,主要是方便客户进行快速的数据处理和分享的功能,本篇随笔介绍基于WPF实现DataGrid数据的导入和导出操作。1、系统界面设计在我们实现数据的导入导出功能之前,我们在主界面需要提供给客户相关的操作按钮,如下界面所示......