WPF でプロジェクトに取り組んでおり、ビューを作成しています。
「その他のオプション」セクションを含むウィンドウを設計していましたが、このセクションを表示または非表示にすることさえできました。このセクションには、次のような TextBox を含む tabControl が含まれていました。
<TabControl Margin="10,156,12,39" Name="moreTabControl" Grid.Column="1">
<TabItem >
<Grid>
<TextBox Margin="6,6,8,28" Name="myTextBox" />
</Grid>
</TabItem>
</TabControl>
したがって、「その他のセクション」を表示または非表示にするために行うコードの背後にあるコードは次のとおりです。
public partial class FilterView : System.Windows.Window
{
.....
// Window's height when "more" option are showed
private const int ShowMoreHeight = 386;
/// Window's height when "more" option are hidden
private const int ShowLessHeight = 186;
private bool showMore = false;
private void moreButton_Click(object sender, RoutedEventArgs e)
{
showMore = !showMore;
ResizeWindow();
}
private void ResizeWindow()
{
if (showMore)
{
moreTabControl.Visibility = System.Windows.Visibility.Visible;
moreButton.Content = "<< Less";
MinHeight = ShowMoreHeight;
Height = ShowMoreHeight;
}
else
{
moreTabControl.Visibility = System.Windows.Visibility.Collapsed;
moreButton.Content = "More >>";
MinHeight = ShowLessHeight;
Height = ShowLessHeight;
}
}
......
.....
}
RichTextBox の TextBox を変更する必要があるまではすべてうまくいきました :(、プログラムを実行して「MoreButton」を押すと、「more」セクションは期待どおりに表示されますが、コンテナ ウィンドウは右に大きく伸びます。
そして、私はこれだけを変更しました:<TextBox Margin="6,6,8,28" Name="myTextBox" />
これのために:<RichTextBox Margin="6,6,8,28" Name="myRichTextBox" />
誰が何が起こっているのか知っていますか??
前もって感謝します。