Я пытаюсь подключить ползунок и текстовое поле так, чтобы текстовое поле контролировало положение ползунка, а положение ползунка отражалось в текстовом поле. Это базовая двусторонняя привязка между элементами.
Что у меня есть - положение ползунка отображается в текстовом поле. Регулировка ползунка отражается в обновленном значении в текстовом поле. Это работает как исключено.
Проблема - ввод значения в текстовом поле НЕ обновляет положение ползунка.
Я нашел несколько примеров в Интернете и просмотрел их, но не могу понять, что я делаю неправильно. Есть предложения?
Мой код указан ниже.
<Window x:Class="ScrollBarBinding.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="756">
<Grid Margin="10">
<Grid.Resources>
<Style x:Key="txtStyle" TargetType="TextBox">
<Setter Property="FontSize" Value="15pt"/>
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="Margin" Value="10"/>
</Style>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="400"/>
</Grid.ColumnDefinitions>
<TextBox Name="txtie" Grid.Column="0" Style="{StaticResource txtStyle}" Text="{Binding ElementName=scrollie, Path=Value, Mode=TwoWay}" />
<ScrollBar Name="scrollie" Orientation="Horizontal" Grid.Column="1" Minimum="0" Maximum="10" />
</Grid>
</Window>
Обновление - - -
Я построил это с нуля в Blend3. И теперь это работает. Я добавил UpdateSourceTrigger = PropertyChanged. Я все еще открыт для комментариев или предложений относительно того, является ли это лучшим решением.
<Grid x:Name="LayoutRoot">
<TextBox HorizontalAlignment="Left"
Margin="97.293,121.6,0,0"
VerticalAlignment="Top"
Width="139.2"
Height="40.8"
Text="{Binding Value, ElementName=slider, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
TextWrapping="Wrap"/>
<Slider x:Name="slider"
Margin="97.293,0,194.707,140.8"
VerticalAlignment="Bottom"
Height="32.8"/>
</Grid>