В моем особом случае я хочу связать со свойством IsReadOnly TextBox для установки свойства Content Кнопки? Они - оба часть того же StackPanel.
Я попытался делать, это с DataTrigger с Привязкой к ElementName TextBox и Триггера с помощью TextBox называет как SourceName.
Какие-либо мысли?
Вам необходимо указать триггер как часть стиля - коллекция триггеров на самой кнопке может содержать только триггеры событий. Имея это в виду, DataTrigger работает нормально. Однако есть одна загвоздка: значение из Trigger Setter не будет перезаписывать локальное свойство Content. Таким образом, вы также должны установить контент по умолчанию в стиле. Вот как это выглядит:
<Button> <!-- Note no content set directly on button -->
<Button.Style>
<Style TargetType="Button">
<Setter Property="Content" Value="You may write!!!" /> <!-- Here is the 'normal' content -->
<Style.Triggers>
<!-- Here is how we bind to another control's property -->
<DataTrigger Binding="{Binding IsReadOnly, ElementName=textBox}" Value="True">
<Setter Property="Content" Value="NO NO NO" /> <!-- Here is the 'override' content -->
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
Вы пробовали это:
<StackPanel x:Name="LayoutRoot">
<Button Width="75" Content="{Binding IsReadOnly, ElementName=textBox, Mode=Default}" />
<TextBox x:Name="textBox" VerticalAlignment="Top" Text="TextBox" />
</StackPanel>
??