Итак, у меня есть datagrid, который имеет разные цветовые ячейки в зависимости от значения ячейки.
У меня также есть всплывающая подсказка, которая отображает некоторую дополнительную информацию. Все это прекрасно работает.
Я, однако, хотел бы изменить всплывающую подсказку, чтобы показать дополнительную информацию, а также быть тем же цветом, что и ячейка. Итак, я подумал, что было бы разумно создать собственный стиль для моих подсказок. Итак, у меня есть код ниже.
<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>
У меня есть объект, показанный ниже, который привязан к моему datagrid. Я хочу связать три свойства с тремя текстовыми полями в моей подсказке.
class MyTask
{
public string Name;
public int Code;
public string Description;
}
В моем DataGrid я делаю следующее, чтобы привязать свои данные к моему datagrid
ItemsSource="{Binding TaskList}"
Затем в DataGridTextColumn я привязываюсь к свойству, как показано ниже
DataGridTextColumn Header="Code" Binding="{Binding Code}"
Это имеет смысл для меня. Я не могу понять, как я использую привязку при создании моей настраиваемой подсказки. Я читал, что могу использовать templatebinding. Я до сих пор не понимаю, как моя подсказка привяжется к моему объекту типа MyTask в моем xaml выше?
Обновление - надеюсь, сделайте мой вопрос более ясным
Я хочу знать, как создать привязки в моем шаблоне управления (для 3 текстовых полей), а затем в основной части моего кода, как я привязываюсь к этим текстовым полям. Затем я хотел бы знать, как создать привязку для цвета фона моего шаблона управления, я считаю, что это связано с родственниками?
Когда я читаю другие примеры (изменяя свойство шаблона), я вижу строки, как показано ниже. Я действительно не понимаю, зачем вам это нужно? Это случай, если вы не правы линии ниже, вы не сможете создать привязку к свойству Padding?
<Border Padding="{Binding Padding}" ...>