0
我有一個綁定到視圖模型WPF TabBarControl將焦點設置到元素時,標籤更改
<TabControl
ItemsSource="{Binding Path=ViewModelCollection}" >
<TabControl.ItemContainerStyle>
<Style
TargetType="TabItem"
BasedOn="{StaticResource {x:Type TabItem}}">
<Setter
Property="Header"
Value="{Binding Title}" />
<Setter
Property="Content"
Value="{Binding}" />
</Style>
</TabControl.ItemContainerStyle>
</TabControl>
每個選項卡只包含一個視圖模型項目一個TabControl。我使用數據模板來顯示這個。
<!-- View Model Template -->
<DataTemplate
DataType="{x:Type local:ViewModelItem}">
<DockPanel>
<TextBox Text="I want this to have the focus"/>
</DockPanel>
</DataTemplate>
在當前選項卡發生改變,我想重點要對文本框(這是一個簡單的例子,在我的生產代碼,我有一個DataGrid)的數據模板。我怎麼做到這一點?
在代碼或XAML中設置焦點? – Timores 2010-03-24 23:39:13
在xaml中執行它會很好,選項卡的數量是動態的。在代碼中設置它將意味着拖曳尋找文本框的可視化樹。如何在數據模板上設置初始聚焦元素以及如何在選項卡欄上設置焦點的一般解決方案會很好。但我不介意使用代碼。即使從標籤欄派生,所以我沒有把它放在後面的代碼。 – 2010-03-25 00:05:46