首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从ColumnDefinition宽度绑定TextBox宽度XAML

从ColumnDefinition宽度绑定TextBox宽度XAML
EN

Stack Overflow用户
提问于 2013-04-01 20:29:31
回答 2查看 6.8K关注 0票数 2

在我的WPF项目中,我想从ColumnDefinition宽度绑定TextBox宽度属性。现在,它不工作了!

我使用了一个转换器(GridLengthConverter)将数据转换为宽度。

这是我的代码:

代码语言:javascript
复制
<TextBox Grid.Column="1" Grid.Row="1" Style="{StaticResource SearchWhite}"  Name="tbSearch"
Visibility="{Binding RelativeSource={RelativeSource AncestorType={x:Type mic:DataGrid}},
Path=ShowSearchBoxes, Converter={StaticResource visibleConverter}}" Width="{Binding
RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type ColumnDefinition}},
Path=Width, Converter={StaticResource gridLengthConverter}, Mode=TwoWay}"/>

gridLengthConverter是来自程序集的GridLengthConverter : PresentationFramework。

我收到一个错误"Unable to convert data attribut 'Converter'...“(从法语翻译过来)。

有人能帮上忙吗?

EN

回答 2

Stack Overflow用户

发布于 2013-04-01 20:42:48

代码语言:javascript
复制
<Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Name="col1" Width="200"/>
            <ColumnDefinition />
        </Grid.ColumnDefinitions>

        <TextBox Width="{Binding ElementName=col1, Path=Width}" 
                 Grid.Column="0" Height="20"/>
</Grid>
票数 2
EN

Stack Overflow用户

发布于 2015-08-07 19:20:26

如果要将文本框绑定到列1的宽度,则只需省略宽度属性定义并设置HorizontalAlignment = "Stretch"

例如:

代码语言:javascript
复制
<Grid>
    <Grid.ColumnDefinitions>
            <ColumnDefinition Width="50" />
            <ColumnDefinition Width="100" />
    </Grid.ColumnDefinitions>

    <TextBox Grid.Column = "1" HorizontalAlignment="Stretch" Height="120" Name="textBox1" />
</Grid>

文本框现在的高度应该是120,宽度应该是100。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15743501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档