Добър ден,
Първият въпрос тук и просто научавам WPF, така че, моля, бъдете нежни...
Опитвам се да събера TreeView, чиито елементи задействат команди. Сигурен съм, че има много начини да се постигне това, но моят подход беше да създам стил за TreeViewItem с ControlTemplate, който включва RadioButton за своята командна функционалност.
. . .
<ToggleButton x:Name="Expander"
Style="{StaticResource ExpandCollapseToggleStyle}" Grid.Column="0" Grid.Row="0"
IsChecked="{Binding Path=IsExpanded, RelativeSource={RelativeSource TemplatedParent}}"
ClickMode="Press"/>
<RadioButton Style="{StaticResource TreeElementStyle}"
Grid.Row="0" Grid.Column="1" Command="{TemplateBinding ???}">
<ContentPresenter x:Name="PART_Header" ContentSource="Header"/>
</RadioButton>
<ItemsPresenter x:Name="ItemsHost" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"/>
</Grid>
. . .
Независимо от това, имам дърво, което визуално изглежда добре, но не мога да разбера как да свържа командата си с вградения RadioButton и се губя в блатото от объркване на шаблоните.
. . .
<TreeView>
<TreeViewItem Header="Enterprise">
<TreeViewItem Header="General Settings"
Command="{Binding Path=GeneralSettingsCommand}"/>
. . .
Бих предоставил повече код, но предполагам, че на този етап отговорите ще бъдат по-скоро от рода на „Пич, много си се отклонил. Първо прочети за бла“, или „Бутонът е напълно ненужен“, или „ти трябва да използва ItemTemplate вместо това" или..." или "просто се откажете вече" ;)
{TemplateBinding TreeViewItem.Command}
не работи ли? - person decyclone   schedule 17.12.2010