所以,我有一個數據網格具有不同的顏色單元取決於單元格的值。控制模板:如何創建綁定
我也有一個工具提示,顯示一些進一步的信息。這一切工作正常。
但是,我想改變工具提示以顯示更多信息,並且與單元顏色相同。所以,我認爲爲我的工具提示創建一個自定義樣式是明智的。所以,我有下面的代碼。
<Style TargetType="ToolTip">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToolTip">
<Border CornerRadius="15,15,15,15"
BorderThickness="3,3,3,3"
Background="#AA000000"
BorderBrush="#99FFFFFF"
RenderTransformOrigin="0.5,0.5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="2*"/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0"/>
<TextBlock Grid.Row="1"/>
<TextBlock Grid.Row="2"/>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我有一個下面顯示的對象綁定到我的數據網格。我想將三個屬性綁定到我的工具提示中的三個文本框。
class MyTask
{
public string Name;
public int Code;
public string Description;
}
在我的DataGrid我下面給我的數據綁定到我的DataGrid
ItemsSource="{Binding TaskList}"
然後在DataGridTextColumn我綁定屬性像下面
DataGridTextColumn Header="Code" Binding="{Binding Code}"
這是有道理的我。然而,我不知道如何在創建自定義工具提示時使用綁定。我讀過我可以使用模板綁定。我仍然不明白我的工具提示將如何綁定到我上面的xaml中MyTask類型的對象?
更新 - 希望讓我的問題更清楚
我想知道如何在我的控制模板中的綁定(爲3個文本框),然後在我的代碼的主要部分我怎麼綁定到這些文本框。然後我想知道如何爲我的控件模板的背景顏色創建綁定,我相信這是與relativesource有關的?
當我正在閱讀其他示例(更改模板屬性)時,我看到如下所示的行。我不明白你爲什麼要這樣做?這是否是一種情況,如果你沒有正確處理下面的行,你將無法在Padding屬性上創建綁定?
<Border Padding="{Binding Padding}" ...>
定義的「代碼」屬性在哪裏?它在TaskList內嗎?如果是這樣,你嘗試過做Binding =「{Binding TaskList.Code}」嗎?另外,你可以發佈你的電網代碼嗎?這將有所幫助。 – jpgrassi
是TaskList是List。數據網格的綁定正在工作。我用它說我理解這是如何工作的,但我不確定如何在更改控件的模板時使用綁定 –
mHelpMe
最簡單的方法是去定製控件並定義依賴項屬性:http://stackoverflow.com/questions/11896619/custom-control-dependency-property-binding – Bart