- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 WPF 的新手,这可能是个愚蠢的问题,但是......)一个由 xceed wpf propertygrid 可视化的自定义属性类
public class ShopProperties
{
private readonly ObservableCollection<string> _cars = new ObservableCollection<string>();
[Category(@"CarsShop")]
[DisplayName(@"CarsCollection")]
public ObservableCollection<string> CarsCollection { get {return _cars;}}
[Browsable(false)]
private string SelectedCar {get; set;}
}
我需要使用什么最简单最好的 PropertyGrid 编辑器(或自定义编辑器)来从 CarsCollection 分配 SelectedCar 元素?
最佳答案
经过一些搜索和阅读http://wpftoolkit.codeplex.com/wikipage?title=PropertyGrid&referringTitle=Documentation我认为在我的情况下至少有两种方式。
xctk:CollectionControl
并编辑 XAML。<xctk:PropertyGrid Name="_generalPropertyGrid" DockPanel.Dock="Top"
ShowSearchBox="False" ShowSortOptions="False" ShowTitle="False" NameColumnWidth="120" BorderThickness="0">
<xctk:PropertyGrid.EditorDefinitions>
<xctk:EditorTemplateDefinition TargetProperties="CarsCollection">
<xctk:EditorTemplateDefinition.EditingTemplate>
<DataTemplate>
<xctk:CollectionControl SelectedItem="{Binding Path=SelectedCar}"/>
</DataTemplate>
</xctk:EditorTemplateDefinition.EditingTemplate>
</xctk:EditorTemplateDefinition>
</xctk:PropertyGrid.EditorDefinitions>
</xctk:PropertyGrid>
UserControl
来实现 ITypeEditor
请参阅 http://wpftoolkit.codeplex.com/wikipage?title=PropertyGrid&referringTitle=Documentation 中的数据通过 ComboBox
选择。我选择这种方式。
<UserControl x:Class="proj_namespace.CarSelector"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
x:Name="CarSelector"
d:DesignHeight="25" d:DesignWidth="200">
<Grid>
<ComboBox ItemsSource="{Binding Value, ElementName=CarSelector}" SelectionChanged="Selector_OnSelectionChanged"/>
</Grid>
</UserControl>
后面还有类代码:
public partial class CarSelector : ITypeEditor
{
public CarSelector()
{
InitializeComponent();
}
public static readonly DependencyProperty ValueProperty =
DependencyProperty.Register("Value", typeof(ObservableCollection<string>), typeof(CarSelector),
new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));
public string Value
{
get { return (string)GetValue(ValueProperty); }
set { SetValue(ValueProperty, value); }
}
public FrameworkElement ResolveEditor(PropertyItem propertyItem)
{
var binding = new Binding("Value");
binding.Source = propertyItem;
binding.Mode = propertyItem.IsReadOnly ? BindingMode.OneWay : BindingMode.TwoWay;
BindingOperations.SetBinding(this, ValueProperty, binding);
return this;
}
private void Selector_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (sender != null)
MainWindow.Instance._properties.SelectedCar = (sender as ComboBox).SelectedItem as string;
}
}
最后在属性上方添加自定义编辑器行
[Editor(typeof(CarSelector), typeof(CarSelector))]
public ObservableCollection<string> CarsCollection { get { return _securities; } }
关于c# - xceed wpf 属性网格集合选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35225505/
谁能告诉我如何在 Xceed DataGridControl 中设置行高?因为设置 DataRow、Row 和 DataCell 的样式没有任何作用。好像是固定在 30 的,我一直找不到任何方法可以更
我有一个使用一些 Xceed 库的应用程序,我们开始在 Windows 7 上部署它。问题出在 WinComboBox 对象上:如果我使用鼠标上的滚轮并向下滚动/“过去”底部列表REALLY FAST
我正在使用 Xceed 数据网格的 Codeplex 版本。 但在以表格形式显示网格时,“Powered by Xceed”文本出现在 datagrid 的右上角。 这个可以去掉吗?如何? 最佳答案
当我更改 Xceed DataGridControl 中的 ItemsSource 时,我的垂直和水平滚动条会立即重置到顶部/左侧。 任何想法如何防止这种情况发生? 最佳答案 我终于修复并弄清楚了为什
我正在寻找 WPF 网格控件的供应商,它可以与 MVVM 很好地配合使用;这允许通过拖动列进行分组。我一直在环顾四周,乍一看,我目前的选择似乎是 Telerik。 如果有人对一个或多个供应商有经验,我
在我的项目中,我有一个 Xceed 数据网格,它绑定(bind)到一个包含许多记录和记录详细信息的数据源。我正在尝试创建一个上下文菜单选项,允许用户在特定列中搜索特定详细信息。虽然我已经成功完成了功能
我正在使用 Xceed MaskedTextBox;
我试图将 Xceed 数据网格中列的可见性绑定(bind)到复选框的 IsChecked 值。 datagrid 的 ReadOnly 属性通过更改复选框 I
我正在使用Xceed 的PropertyGrid 来显示一些元素的特性。元素有不同的类别,例如:常规、高级、其他、特殊。在这里,我发现 Xceed 的属性网格按字母顺序对类别和属性进行排序。我能够使用
我是 WPF 的新手,这可能是个愚蠢的问题,但是......)一个由 xceed wpf propertygrid 可视化的自定义属性类 public class ShopProperties {
我正在尝试取消 xceed datagrid(社区版)网格(http://wpftoolkit.codeplex.com/wikipage?title=DataGrid)中某些列的重新排序/拖放功能
我试图在单击任何属性的高级选项图标时显示“复制”上下文菜单。我需要添加什么才能使它工作? 我希望“复制”上下文项显
我的 View 中有这个名为 NewWindow 的 xceed 颜色选择器: 在名为 NewViewModel 的 View 模型类中绑定(bind)到此属性 public Color? Back
我在 WPF MVVM 应用程序中有一个 Xceed 数据网格,它设置为保存主从记录。选择子行时,我希望 ViewModel 检测到选定的子行。我想最好使用零代码隐藏来做到这一点。我编写了在单击上下文
如何显示 ObservableCollection<> Xceed WPF PropertyGrid 中的自定义对象,其中每个列表项都可以展开以显示自定义对象属性。 (即: ----属性网格-----
我正在为另一个应用程序 Autodesk Revit 开发一个插件,它是作为一个单独的 DLL 类库构建的。我正在尝试使用 Wpf Tool Kit Property grid在我的一个 WPF 窗口
我是使用 Xceed Grid for .NET 的新手。 .NET 有重点,但 Xceed 没有。你能帮我如何得到相同的吗? 最佳答案 您可以执行以下操作: this.gridControl1.Cu
我正在使用 Xceed DateTimePicker 控件。问题在于它的日历大小:当您在控件本身中放大字体时,其弹出日历的大小和字体不会改变。如何更改弹出窗口的大小? 最佳答案 更改DateTimeP
我正在尝试绑定(bind)到 Xceed(Wpf 工具包扩展版)中的图形控件。 然而,the documentation 让我更加困惑...... 它说 The data points of a se
我正在使用扩展 WPF 工具包的(社区版)来显示具有 DateTime 列的记录。
我是一名优秀的程序员,十分优秀!