此代码:
<StackPanel Orientation="Horizontal">
<RichTextBox />
<Button Content="Dialog" />
</StackPanel>
在StackPanel左侧的某个位置显示RichTextBox上的按钮,为什么?
编辑:哦,我刚看到它的宽度问题。 RTB几乎没有宽度,按钮就是右边的。
编辑:似乎我遇到了这个错误:WPF RichTextBox with no width set
解决方案对我不起作用!
答案 0 :(得分:1)
最好使用Grid和RTB的HorizontalAlignment(和VerticalAlignment)属性。
<Grid HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<RichTextBox HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
<Button Grid.Column="1"
Content="Dialog"
HorizontalAlignment="Right"
VerticalAlignment="Bottom" />
</Grid>
答案 1 :(得分:0)
您的代码布局应该是:
<StackPanel Margin="105,73,124,54" Orientation="Horizontal">
<RichTextBox Width="312" />
<Button Content="Dialog" VerticalAlignment="Bottom" Height="56" />
</StackPanel>
你必须单独调整每个元素(控件)的大小,否则你会得到一个类似于你原来的布局(所有布局都混乱并且压碎在一起。)
答案 2 :(得分:0)
抱歉,我忘了提及,如果你看一下“布局”面板(对于RichTextBox),它的底部有一个向下箭头。单击它以打开“高级选项”。在那里你想要设置你的“HorizontalContentAlignment和VertialContentAlignment”两个拉伸。 (每个的最后两个选项)。
我很抱歉将其遗弃。我的错。 :)