Я надеюсь использовать прикрепленное свойство, чтобы назначить команду для события изменения выбора в выпадающем списке, который встроен в древовидное представление.Я пытаюсь установить вложенное свойство в шаблоне иерархических данных для дерева, но команда не установлена и не запускается при изменении элемента в выпадающем списке.
Я обнаружил, что установка присоединенного свойства непосредственно в поле со списком вне таблицы данных работает нормально;
вот как я пытаюсь установить свойство в шаблоне:
<HierarchicalDataTemplate x:Key="template1"
ItemsSource="{Binding Path=ChildColumns}">
<Border
Background="{StaticResource TreeItem_Background}"
BorderBrush="Blue"
BorderThickness="2"
CornerRadius="5"
Margin="2,5,5,2"
HorizontalAlignment="Left" >
<Grid>
<Grid.ColumnDefinitions >
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock MinWidth="80" HorizontalAlignment="Left" Grid.Column="0" Margin="5,2,2,2" Grid.Row ="0"
Text="{Binding Path=ColName}"/>
<ComboBox Name="cboColType" Grid.Column="1"
HorizontalAlignment="Right"
ItemsSource="{Binding Source={StaticResource dataFromEnum}}"
SelectedItem="{Binding Path=ColumnType}"
Margin="2,2,2,2"
local:ItemSelectedBehavior.ItemSelected="{Binding Path=LoadConfigCommand}"
/>
</Grid>
</Border>
</HierarchicalDataTemplate>
Я также пытался создать стиль
<Style x:Key="childItemStyle" TargetType="{x:Type FrameworkElement}">
<Setter Property="local:ItemSelectedBehavior.ItemSelected" Value="{Binding Path=LoadConfigCommand}" />
</Style>
и установить для itemcontainerstyle значениестиль в иерархической таблице данных .. все же не повезло ..
<HierarchicalDataTemplate>
...
<ComboBox Name="cboColType" Grid.Column="1"
HorizontalAlignment="Right"
ItemsSource="{Binding Source={StaticResource dataFromEnum}}"
SelectedItem="{Binding Path=ColumnType}"
Margin="2,2,2,2"
ItemContainerStyle={StaticeResource childItemStyle}"
/>
...
</HierarchicalDataTemplate>
Я все еще многому учусь о WPF, поэтому я предполагаю, что в иерархической таблице данных есть что-то особенное, что не позволяетdproperty, чтобы быть установленным .. Я нашел подобные сообщения в форумах и попытался реализовать их решения как выше, но после дня поиска и экспериментирования без удачи, я надеюсь, у кого-то есть идея об этом ...