確定目前我有這一段代碼時結合:WPF使用的DataTemplate
<TabItem Style="{DynamicResource MyStyle" x:Name="TabCustomers" Padding="0,1,4,1"
Header={Binding Path=customersHeader}/>
現在我想添加一個圖標有這樣怎麼辦?(通過去除上面的標題):
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<Image Stretch="UniformToFill" Source="{StaticResource customers}"/>
<TextBlock x:Key="textblock" Margin="4,0,0,0"
Text="{Binding Path=customersHeader}"/>
</StackPanel>
</TabItem.Header>
到目前爲止,沒關係。 我想用數據模板來概括這一點。我認爲我必須做這在我的資源字典:
<DataTemplate x:Key="TabItemCustomersTemplate" DataType="{x:Type TabItem}">
<StackPanel Orientation="Horizontal">
<Image Stretch="UniformToFill" Source="{StaticResource customers}"/>
<TextBlock x:Key="textblock" Margin="4,0,0,0"
Text="{Binding Path=customersHeader}"/>
</StackPanel>
</DataTemplate>
,改變這在我的TabItem聲明:
<TabItem ... HeaderTemplate="{StaticResource TabItemCustomersTemplate}".../>
所以我碰到以下問題和問題: 1)結合不工作,爲什麼? 2)我如何從c#訪問textblock? 3)我怎麼能概括這個,所以我不必一遍又一遍地爲不同的標籤項目(或其他控件)複製這個,這樣我就可以每次傳遞我自己的文本和圖像源?例如,你可以用它來創建一個圖像按鈕,如果你有20個按鈕,代碼會變得混亂。
任何想法?
謝謝。
謝謝!如何在不聲明不同數據模板的情況下綁定不同的圖像源? – immuner 2009-11-22 15:09:03
您可以在後面的代碼中擁有一個屬性,並且可以在數據模板中使用它綁定圖像的源屬性,也可以使用數據模板本身的觸發器更改某些特定項目的圖像。 – viky 2009-11-22 15:35:23
你能告訴我如何做第一個?在數據模板的代碼中綁定屬性? – immuner 2009-11-22 18:15:43