Строка ниже работает для TextBox DP Text , где CellNo - это свойство класса, производного от INotifyPropertychanged. Итак, здесь, когда я изменяю CellNo, текст будет обновлен, а когда я изменю CellNo, текст будет обновлен. Это будет работать нормально.
Text="{Binding Path = CellNo, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Я создал пользовательский элемент управления, содержащий только один TextBox. Я определил одно имя DP CellValue, как показано ниже:
public string CellValue
{
get { return (string)GetValue(CellValueProperty); }
set { SetValue(CellValueProperty, value); }
}
// Using a DependencyProperty as the backing store for LimitValue. This enables animation, styling, binding, etc...
public static readonly DependencyProperty CellValueProperty =
DependencyProperty.Register("CellValue", typeof(string), typeof(control), new FrameworkPropertyMetadata
{
BindsTwoWayByDefault = true,
});
Теперь, когда я использую этот пользовательский элемент управления в любом диалоговом окне и выполняю ту же привязку, что и выше, Target (текстовое поле внутри пользовательского элемента управления) НЕ обновляется.
<local:control
x:Name="control"
CellValue="{Binding Path = CellNo, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
Также внутри пользовательского элемента управления Я привязал свойство Text TextBox к CellValue DP.
Внутренний элемент управления пользователя
<TextBox
Text="{Binding Path = CellValue}"
Name="textBox2" />
Я хочу, чтобы при изменении CellValue текст TextBox также был обновлен, но с указанным выше приложением он остается пустым.