Condition.Binding Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает привязку, указывающую свойство условия. Это применимо только к MultiDataTrigger объектам.
public:
property System::Windows::Data::BindingBase ^ Binding { System::Windows::Data::BindingBase ^ get(); void set(System::Windows::Data::BindingBase ^ value); };
public System.Windows.Data.BindingBase Binding { get; set; }
member this.Binding : System.Windows.Data.BindingBase with get, set
Public Property Binding As BindingBase
Значение свойства
По умолчанию используется значение NULL.
Примеры
В следующем примере ItemsSourceListBox объект привязан к Местам, объектам ObservableCollection<T>Place . Объекты размещения имеют свойства Name и State.
Каждый ListBoxItem из них ListBox отображает объект Place . В Style примере применяется к каждому ListBoxItem. Указанные Conditionзначения указываются таким образом, что если элемент данных "Имя" и "Состояниеместа" имеет значение Portland и "OR", то для фона соответствующего ListBoxItem параметра задано значение Cyan.MultiDataTrigger
<Window.Resources>
<c:Places x:Key="PlacesData"/>
<Style TargetType="ListBoxItem">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=State}" Value="WA">
<Setter Property="Foreground" Value="Red" />
</DataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=Name}" Value="Portland" />
<Condition Binding="{Binding Path=State}" Value="OR" />
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="Cyan" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
<DataTemplate DataType="{x:Type c:Place}">
<Canvas Width="160" Height="20">
<TextBlock FontSize="12"
Width="130" Canvas.Left="0" Text="{Binding Path=Name}"/>
<TextBlock FontSize="12" Width="30"
Canvas.Left="130" Text="{Binding Path=State}"/>
</Canvas>
</DataTemplate>
</Window.Resources>
<StackPanel>
<TextBlock FontSize="18" Margin="5" FontWeight="Bold"
HorizontalAlignment="Center">Data Trigger Sample</TextBlock>
<ListBox Width="180" HorizontalAlignment="Center" Background="Honeydew"
ItemsSource="{Binding Source={StaticResource PlacesData}}"/>
</StackPanel>
Комментарии
MultiDataTriggers позволяет задавать значения свойств на основе значений возвращаемых данных. Например, если отображается список элементов задачи, может потребоваться отобразить задачу с красным фоном, если она имеет высокий приоритет и не просматривалась более двух недель.
Вы создаете привязку и используете Path свойство для привязки к свойству определенного объекта (исходного объекта привязки). Например, можно привязать к свойству Priorityзадачи. Дополнительные сведения см. в разделе "Обзор привязки данных".
Обратите внимание, что если это условие для MultiDataTriggerобъекта, Binding необходимо задать свойства и Value свойства. Property Установка значения приведет к исключению в этом случае.
Использование атрибута XAML
<object property="{Binding declaration}"/>
Использование элемента свойства XAML
<object>
<object.Binding>
<Binding …/>
</object.Binding>
</object>
Значения XAML
Декларации Объявление привязки. Дополнительные сведения см. в разделе "Объявления привязки ".