0

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" />

誰が何が起こっているのか知っていますか??

前もって感謝します。

4

1 に答える 1

0

私は自分の問題を解決しました:

XAMLコードで、WindowのプロパティがにSizeToContent設定されていることがわかりました。その"WidthAndHeight"ため、このプロパティをに変更し"Manual"、の値をWidth手動Heightで設定しました。

これが似たような何かを経験している他の誰かに役立つことを願っています。

于 2012-06-07T13:38:49.163 に答える