Dependency property stops updating after changing target properties due to a change in the user interface

I have my own dependency property on my control, for example (template template for implementing a control):

public static readonly DependencyProperty ValueProperty = DependencyProperty.Register(
    "Value",
    typeof(String),
    typeof(BindingTestControl),
    new PropertyMetadata(null));

public static void SetValue(UIElement element, string value)
{
    element.SetValue(ValueProperty, value);
}
public static string GetValue(UIElement element)
{
    return (string)element.GetValue(ValueProperty);
}

I created a page with the code for binding with the corresponding corresponding xaml (with x:Name="root"on the page):

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <local:BindingTestControl Value="{Binding ElementName=root, Path=StringItem}"/>
    <Button Width="200" Height="100" Tapped="Button_Tapped" FlowDirection="RightToLeft"/>
</Grid>

With similar code (for example, only the relevant parts):

private string stringItem = "";
public string StringItem
{
    get
    {
        return stringItem;
    }
    set
    {
        this.stringItem = value;
        OnPropertyChanged("StringItem");
    }
}

int i = 0;
private void Button_Tapped(object sender, TappedRoutedEventArgs e)
{
    //i++;
    this.StringItem = "Test" + i;
}

, , . i++;, . , , , INotifyPropertyChanged, , , Textbox .

, ?

+4
1

- :

set
{
    this.stringItem = null;
    this.stringItem = value;
    OnPropertyChanged("StringItem");
}

PropertyChanged .

0

Source: https://habr.com/ru/post/1544554/


All Articles