【发布时间】:2013-07-31 23:40:43
【问题描述】:
我确实有以下结构:
<UniformGrid HorizontalAlignment="Stretch" Grid.Row="0" VerticalAlignment="Top" Columns="6" DockPanel.Dock="Right" >
<StackPanel HorizontalAlignment="Stretch">
<DockPanel Background="#FF393939" >
<Label Content="{lex:Loc Site}" Foreground="#FFE0E0E0"/>
</DockPanel>
<ListBox Height="300" ItemsSource="{Binding Sites.View}" DisplayMemberPath="Name.ActualTranslation">
</ListBox>
</StackPanel>...
我的 UniformGrid 中的这些堆栈面板应该分布在整个主窗口(或视图)上......仍然如果列表框中有一个项目具有更长的字符串,它需要比标准宽度更多的位置,它会自动调整字符串并且我必须垂直滚动。
如果内容没有足够的位置,我不希望列表视图获得宽度。 我的 MainWindow 中也有一个滚动查看器,该视图被放置在其中......
如何使统一网格保持与 MainWindow 相同的宽度-...
我已经尝试为 MainWindow 命名并将宽度绑定到如下内容:Width="{Binding ElementName=MainWindow, Path=ActualWdith}" ..
虽然我得到了错误:
Cannot find source for binding with reference 'ElementName=MainWindow'. BindingExpression:Path=ActualWdith; DataItem=null;
我能做些什么来解决这个问题? 如果您需要更多信息或我的错误描述不清楚,请随时询问。
更新: 应该如何:
文本过长时的行为: 并且底部会出现一个滚动条..
【问题讨论】:
-
绑定到
ActualWidth似乎是个坏主意,但根本没有必要这样做。如果设置为拉伸,UniformGrid应该保持相同的大小。你能把你看到的截图显示一下吗? -
我已经更新了我的问题