双向绑定中的不同更新

Roy Li - MSFT 32,091 信誉分 Microsoft 供应商
2024-04-26T07:52:40.8533333+00:00

你好

我想将 Rectangle.WidthProperty 绑定到 TextBox。

但。。。我想有这样的行为。

如果我在 TextBox 中键入 width 值,它应该被传送到 Rectange Explit

如果我在后面的矩形代码中更改 width,它应该被传输到 PropertyChanged 上的 TextBox。

是否可以在 UWP 中执行此类行为

谢谢

此问题由Different updates in two way binding - Microsoft Q&A总结而来.

通用 Windows 平台 (UWP)
通用 Windows 平台 (UWP)
一个 Microsoft 平台,用于生成和发布适用于 Windows 桌面设备的应用。
17 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Junjie Zhu - MSFT 15,061 信誉分 Microsoft 供应商
    2024-04-26T09:30:36.9066667+00:00

    你好,

    推荐你使用element绑定,Text="{Binding ElementName=rectangleTest, Path=Width}", 并且在事件TextChanged中改变Rectangle.WidthProperty .

    <StackPanel>
        <Rectangle x:Name="rectangleTest" Height="200" Width="100" Fill="Red"/>
        <TextBox x:Name="textboxTest" Text="{Binding ElementName=rectangleTest, Path=Width}" TextChanged="textboxTest_TextChanged" Height="50" Width="100"/>
        <Button Content="change the width" Click="Button_Click" />
    </StackPanel>
    
    private void textboxTest_TextChanged(object sender, TextChangedEventArgs e)
    {
        double dbWidth;
        if (double.TryParse(textboxTest.Text, out dbWidth))
        {
            if (dbWidth >= 0)
            {
                rectangleTest.Width = dbWidth;
            }
        }
    }
    private void Button_Click(object sender, RoutedEventArgs e)
    {
        rectangleTest.Width = 300;
    }
    

    谢谢。


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收电子邮件通知,请按照我们的文档中的步骤启用电子邮件通知 此线程的相关电子邮件通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助