-
Notifications
You must be signed in to change notification settings - Fork 0
DataSwitch ru
Leksiqq edited this page May 15, 2024
·
6 revisions
Применяется в разметке XAML аналогично <DataTrigger>
. Имеет атрибут Binding
с тем же смыслом. Содержимое состоит из элементов <DataTrigger>
без атрибута Binding
. Действует как будто все <DataTrigger>
имеют одинаковый Binding
, но при этом значение привязки вычисляется только один раз.
в демо на вкладке «Demo3» на консоль выводятся обращения к вычислению значения привязки в случае с использованием <DataSwitch>
и без него.
<TextBlock DockPanel.Dock="Top">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<l:DataSwitch Binding="{Binding Text, ElementName=T1,
Converter={l:ParameterizedResource DataConverter},
ConverterParameter=T1Text|DataSwitch, Mode=OneWay}">
<DataTrigger Value="1">
<Setter Property="Text" Value="Один"/>
</DataTrigger>
<DataTrigger Value="2">
<Setter Property="Text" Value="Два"/>
</DataTrigger>
<DataTrigger Value="3">
<Setter Property="Text" Value="Три"/>
</DataTrigger>
<DataTrigger Value="4">
<Setter Property="Text" Value="Четыре"/>
</DataTrigger>
<DataTrigger Value="">
<Setter Property="Text" Value=""/>
</DataTrigger>
</l:DataSwitch>
</Style.Triggers>
<Setter Property="Text" Value="Не могу понять"/>
</Style>
</TextBlock.Style>
</TextBlock>
Раньше: (BindingProxy) Начало:(Обзор) Дальше:(BoolExpressionConverter)