gpt4 book ai didi

c# - 动态生成的组合框值

转载 作者:行者123 更新时间:2023-11-30 23:29:55 25 4
gpt4 key购买 nike

是否可以动态生成(例如,从数据库中获取)嵌入 WPF 工具包 PropertyGrid 中的组合框项?我找到了以下代码,但它生成固定值。

public class Person
{
[ItemsSource(typeof(FontSizeItemsSource))]
public double WritingFontSize { get; set; }
}

public class FontSizeItemsSource : IItemsSource
{
public ItemCollection GetValues()
{
ItemCollection sizes = new ItemCollection();
sizes.Add(5.0, "Five");
sizes.Add(5.5);
return sizes;
}
}

最佳答案

您可以设置自己的编辑模板,并通过绑定(bind)到 ItemsSource 向其中的 ComboBox 提供项目:

public class Person
{
public double WritingFontSize { get; set; }

public ObservableCollection<double> FontSizeItemsSource
{
get
{
ObservableCollection<double> sizes = new ObservableCollection<double>();

// Items generation could be made here
sizes.Add(5.0);
sizes.Add(5.5);
return sizes;
}

}
}


<xctkpg:PropertyGrid SelectedObject="{Binding MyPersonObject}" AutoGenerateProperties="False">
<xctkpg:PropertyGrid.EditorDefinitions>
<xctkpg:EditorTemplateDefinition TargetProperties="WritingFontSize">
<xctkpg:EditorTemplateDefinition.EditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Instance.FontSizeItemsSource}" SelectedValue="{Binding Instance.WritingFontSize}" />
</DataTemplate>
</xctkpg:EditorTemplateDefinition.EditingTemplate>
</xctkpg:EditorTemplateDefinition>
</xctkpg:PropertyGrid.EditorDefinitions>

<xctkpg:PropertyGrid.PropertyDefinitions>
<xctkpg:PropertyDefinition TargetProperties="WritingFontSize" />
</xctkpg:PropertyGrid.PropertyDefinitions>
</xctkpg:PropertyGrid>

关于c# - 动态生成的组合框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35162923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com