У меня есть повторяющаяся сетка, в которой я хочу, чтобы во всех пустых текстах и раскрывающихся списках автоматически отображался текст с надписью «Выбрать», когда значение элемента пустое / пустое и не выбрано.
Я могу определить триггер, чтобы сделать это для простой сетки, используя следующую структуру:
<ControlTemplate >
<Grid>
… set grid
</Grid>
<ControlTemplate.Triggers>
… set triggers
</ControlTemplate.Triggers>
</ControlTemplate>
Что я хочу сделать, это вставить это в следующую структуру:
<ItemsControl … >
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" … >
</StackPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
… set grid
</Grid>
</DataTemplate>
<ItemsControl.ItemTemplate>
<ItemsControl>
Итак, как мне прикрепить триггеры к сетке в шаблоне данных?
Я попытался добавить DataTemplate.Triggers, но это дало ошибку: «Элемент« Текст »не распознан или недоступен» при использовании приведенного ниже кода:
<DataTemplate>
<Grid ...>
<DataTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsKeyboardFocusWithin" Value="False" />
<Condition Property="Text" Value="" /> <-- Errors heer
</MultiTrigger.Conditions>
<Setter TargetName="SamplingDate" Property="Text" Value="Select"/>
</MultiTrigger>
</DataTemplate.Triggers>
</DataTemplate>
Это потому что я не устанавливаю TargetType в «TextBox», если так, как мне это сделать?
Если я удаляю свойство Condition = "Text" Value = "" строка всех таблиц в списке показывает «Выбрать» независимо от их значения (как я и ожидал). Так что мне нужно ограничить это типами TextBox (используя DataTemplate.Resources !?), или это просто неправильный подход?
Я гуглил это, но, возможно, я задаю неправильные вопросы !? Любая помощь будет оценена.