У меня есть список тяжелых Controls
, которые я не хочу отображать, прежде чем пользователь взаимодействует с ними (по одному за раз). Я хочу показать заполнитель для каждого Control
до тех пор, пока не будет нажата кнопка-заполнитель (желательно сфокусирована), а затем визуализируется реальная Control
.WPF показать «фиктивный» контроль до тех пор, пока не сфокусирован/не нажат
То, что я пытался выглядеть следующим образом:
<ContentControl x:Name="theControl">
<TextBox x:Name="TextBlock" Text="Placeholder right here."/>
<ContentControl.Style>
<Style TargetType="ContentControl">
<Style.Triggers>
<DataTrigger Binding="{Binding IsFocused, ElementName=TextBlock}" Value="True">
<Setter Property="Content" >
<Setter.Value>
<Grid x:Name="theGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="CodeColumn"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock>Heavy control part1</TextBlock>
<TextBlock Grid.Column="1">heavy control part2</TextBlock>
</Grid>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
Любой знает, лучший подход или то, что я не хватает?
Следует отметить, что я удалил все элементы управления контентом из исходного примера xml и просто имел сетку, содержащую оригинальный TextBlock. – Rhubarb
Kinda, работает, хотя я бы хотел, чтобы мой взгляд был в свойствах. (Это было в моем ответе) – Illedan