0

カテゴリ別にグループ化するエキスパンダーを使用しており、デフォルトで特定のカテゴリのみを展開したいと考えています。つまり、ウィンドウがユーザーに表示される前に、いくつかのカテゴリを展開したいと考えています。デフォルトですべてのカテゴリを折りたたむ/展開する方法しか見つけられませんでした。

これを行う方法について何か提案はありますか?

編集:

xaml ファイルのコード スニペット:

<Expander IsExpanded="False">
 <Expander.Header>
  <DockPanel>
   <TextBlock Grid.Column="2" Text="{Binding Path=Name}" />
  </DockPanel> 
 </Expander.Header>
</Expander>

DockPanel はおそらく必要ありません。

4

2 に答える 2

2

Loadedイベントを使用して、特定のカテゴリを展開することを選択できます。これがエキスパンダーの場合:

<Expander Loaded="OnLoad">
   <Expander.Header>
      <TextBlock Text="RightCategory" />
   </Expander.Header>
</Expander>

メソッドを使用してOnLoad、展開するエキスパンダーを選択します。たとえば、IsExpandedプロパティと、コントロールに使用されるヘッダーです。

void OnLoad(object sender, RoutedEventArgs e)
{
    TextBlock tblock = (sender as Expander).Header as TextBlock;

    if (tblock.Text == "RightCategory")
        (sender as Expander).IsExpanded = true;
}

実際にLoadedは、通常、要素の初期化シーケンスで発生する最後のイベントです。Initialized; の後に常に発生します。要素がレイアウトされ、レンダリングされ、操作の準備が整ったときに発生します。

于 2012-06-04T11:46:25.543 に答える