【问题标题】:Binding a TextBox's Text Property to TextBlock's Attached Property like Grid.Row将 TextBox 的 Text 属性绑定到 TextBlock 的 Attached 属性,例如 Grid.Row
【发布时间】:2014-01-28 14:38:37
【问题描述】:

假设我有两个元素。可以说,

  1. 文本块
  2. 文本框

现在,如果我想将 TextBox 的文本绑定到 TextBlock 的文本,我可以执行以下操作:

<TextBox Text="{Binding Text, ElementName=someTextBlock}" />

现在,如果我的 TextBlock 位于 Grid 中,如下所示:

<Grid>
    <TextBlock Text="someText" Grid.Row=1 Grid.Column=2 />
</Grid>

现在我的问题是如何将 TextBox 的文本绑定到 Grid.Row 或 Grid.Column?

我是说

<TextBox Text={Binding Grid.Row, ElementName=someTextBlock} />

上面的代码不起作用。

我知道我在这里做错了。

【问题讨论】:

    标签: c# wpf xaml


    【解决方案1】:

    你需要使用这个语法:

    <TextBox Text={Binding Path=(Grid.Row), ElementName=someTextBlock} />
    

    这记录在Binding.Path:

    要绑定到附加属性,请在附加属性周围放置括号。例如,要绑定到附加属性 DockPanel.Dock,语法为 Path=(DockPanel.Dock)。

    例如,这显示 2 行,TextBox 包含“1”,TextBlock 如下:

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <TextBox Text="{Binding Path=(Grid.Row), ElementName=someTextBlock}"></TextBox>
        <TextBlock Grid.Row="1" Name="someTextBlock" Text="Foo" />
    </Grid>
    

    【讨论】:

    • 谢谢。你是救生员。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    相关资源
    最近更新 更多