我做了一個模板,看起來像這樣:動態模板WPF
<ControlTemplate x:Key="onoffValue" TargetType="{x:Type Control}">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Height="20" Margin="0,5,0,0">
<RadioButton Content="On" Height="20" Name="On_radiobutton" />
<RadioButton Content="Off" Height="20" Name="Off_radiobutton" Margin="20,0,0,0" />
</StackPanel>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding Path=BootSector}" Value="true">
<Setter TargetName="On_radiobutton" Property="IsChecked" Value="true"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=BootSector}" Value="false">
<Setter TargetName="Off_radiobutton" Property="IsChecked" Value="true"/>
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
現在,它被綁定到物業啓動扇區(布爾)OFA「配置」對象。
我用這個模板在我的窗口,有一個配置對象作爲這樣的數據上下文:
<Control Template="{StaticResource onoffValue}">
</Control>
它的偉大工程,但我想走得更遠。
我想知道我怎麼可以在不同的屬性傳遞給我的模板動態綁定(動態更改模板綁定屬性) 即我tryed像
<Control Template="{StaticResource onoffValue}" xmlns:test="{Binding Path=BootSector}"/>
,並將其綁定在模板「測試」但它不起作用
這可能嗎?我怎樣才能做到這一點 ?我認爲我不是太遠,但還沒有!
預先感謝您
編輯:關於梅德答案:
有使用中的錯誤。當我這樣做時:
<StackPanel local:ToggleControl.IsOn="{Binding BootSector, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
Grid.Row="0" Grid.Column="1"
Orientation="Horizontal" HorizontalAlignment="Center" Margin="5">
<RadioButton Content="On" local:ToggleControl.Role="On" Height="20" Margin="5" />
<RadioButton Content="Off" local:ToggleControl.Role="Off" Height="20" Margin="5" />
</StackPanel>
默認情況下BootSector爲false。當我點擊on按鈕(true)時,它將bootSector設置爲true,然後立即爲false。行爲應該是它保持爲真,直到它未被選中?這與這裏相關的問題有關嗎? http://geekswithblogs.net/claraoscura/archive/2008/10/17/125901.aspx
當用戶點擊單選按鈕您目前的範本不改變「引導扇區」。這是期望的行爲? – Jens
它仍然是一個正在進行的工作,但我也希望這樣做,如果你有任何意見,這將是偉大的太 – djfoxmccloud
@djfoxmccloud你打算如何使用'模板模板'?說,你有它 - 你將如何利用它,你可以在這裏發佈樣本? – 2011-11-28 11:59:29