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.
Примеры
В следующем примере ItemsSource свойство объекта ListBox привязано к объектам Place, а ObservableCollection<T> — к объектам Place . Объекты Place имеют свойства Name и State.
Каждый ListBoxItem из ListBox отображает объект Place . в Style примере применяется к каждому ListBoxItemобъекту . MultiDataTrigger Элементы Conditionобъекта указываются таким образом, что если для элемента данных "Имя" и "Состояние" объекта "Место" заданы значения "Портленд" и "ИЛИ" соответственно, то для фона соответствующего ListBoxItem объекта устанавливается значение Cyan.
<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>
Комментарии
MultiDataTriggerс позволяют задавать значения свойств на основе значений возвращаемых данных. Например, при отображении списка элементов задачи может потребоваться отобразить задачу с красным фоном, если она имеет высокий приоритет и не просматривалась более двух недель.
Вы создаете привязку и используете Path свойство для привязки к свойству определенного объекта (исходного объекта привязки). Например, можно выполнить привязку к свойству Priorityзадачи. Более подробную информацию см. в разделе Общие сведения о связывании данных.
Обратите внимание, что если это условие для MultiDataTrigger, Binding необходимо задать свойства и Value . Property Установка значения приведет к возникновению исключения в этом случае.
Использование атрибута XAML
<object property="{Binding declaration}"/>
Использование элемента свойства XAML
<object>
<object.Binding>
<Binding …/>
</object.Binding>
</object>
Значения XAML
declaration
Объявление привязки. Дополнительные сведения см. в статье Общие сведения о объявлениях привязки .