[ad_1]
我在两个地方遇到了绑定问题,其中一个自定义控件是我编写的,用于执行标签的多选列表,其中的选择是从 List
但是,我在绑定到 SelectedTags DependencyProperty 时遇到问题。 它为空。
这需要在单机模式下都可以工作; 并在 DataGridColumn 中(我正在使用 DataGridTemplateColumn)。
独立使用的 Xaml:
<cc:TagSelect Width="175" MaxHeight="350" BorderBrush="Black" BorderThickness="1" HorizontalAlignment="Center" VerticalAlignment="Top" SelectedTags="{Binding SomeTags}" />
用于 DataGridUse 的 Xaml:
<DataGridTemplateColumn Width="175" Header="Tags"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <cc:TagSelect Width="175" SelectedTags="{Binding Tags}" /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> <DataGridTemplateColumn.CellEditingTemplate> <DataTemplate> <cc:TagSelect Width="175" SelectedTags="{Binding Tags}" /> </DataTemplate> </DataGridTemplateColumn.CellEditingTemplate> </DataGridTemplateColumn>
DP定义:
C#
public List<Tag> SelectedTags { get { return (List<Tag>)GetValue(SelectedTagsProperty); } set { SetValue(SelectedTagsProperty, value); } } public static readonly DependencyProperty SelectedTagsProperty = DependencyProperty.Register("SelectedTags", typeof(List<Tag>), typeof(TagSelect), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));
对于 Control 的每个实例,SelectedTags 为 null; 它不具有约束力。 没有显示绑定失败。
我尝试过的:
我已经尝试了在研究这个问题时发现的所有合理建议。 我认为我的解决方案的 VS 配置有问题,但我没有看到它。
以下是 Github 上完整解决方案的链接:
Build software better, togetherGitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.
[ad_2]
コメント