none
WPF,本地设置值不能清除绑定? RRS feed

  • 问题

  • <Window x:Class="WPF2.MainWindow"
    
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    
            xmlns:local="clr-namespace:WPF2"
    
            mc:Ignorable="d"
    
            Title="MainWindow" Height="350" Width="525">
    
        <Grid>
    
            <TextBox x:Name="textBox" HorizontalAlignment="Left" Height="23" Margin="136,83,0,0" TextWrapping="Wrap" 
    
                     Text="{Binding ElementName=button, Path=Content, UpdateSourceTrigger=PropertyChanged}"
    
                     VerticalAlignment="Top" Width="120"/>
    
            <Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="155,159,0,0" VerticalAlignment="Top" Width="75" Click="button_Click"/>  
    
        </Grid>
    
    </Window>
    private void button_Click(object sender, RoutedEventArgs e)
    
    {
    
        textBox.Text = "300";
    
    }
    上面的代码,TextBox的Text绑定到Button的Content,双向绑定。在Button的点击事件中,本地设置了TextBox的Text值。
    MSDN说的很清楚,如果为先前已具有 Binding 表达式的属性设置了本地值,则会完全移除 Binding。 
    照理说单击Button之后,绑定就应该移除了,可是结果并没有移除,在TextBox中输入任何字符串,Button的Content照样跟着变。
    你能解释一下吗?

    2015年11月25日 0:59

答案