C1TreeView コントロールを格納した C1DropDown アプリケーションを作成して、簡単に階層型ドロップダウンを使用することができます。
階層型 C1DropDown コントロールを作成するには、次の手順に従います。
マークアップ |
コードのコピー
|
---|---|
<Xaml:C1DropDownButton x:Name="soccerCountries" HorizontalAlignment="Center" VerticalAlignment="Center" Padding="2" AutoClose="False" Width="150" DropDownWidth="200"> |
マークアップ |
コードのコピー
|
---|---|
<Xaml:C1DropDownButton.Header> <TextBlock x:Name="selection" Text="≪ Pick one ≫" Padding="7 0 0 0" Foreground="Black" TextAlignment="left"/> </Xaml:C1DropDownButton.Header> |
</Xaml:C1DropDownButton.Header>
タグの下にカーソルを置きます。Visual Studio ツールボックスの C1TreeView コントロールを見つけてダブルクリックし、このコントロールをアプリケーションに追加します。開始タグのマークアップを次のように編集します。
マークアップ |
コードのコピー
|
---|---|
<Xaml:C1TreeView x:Name="treeSelection" Header="ワールドカップ優勝国" KeyDown="C1TreeView_KeyDown" ItemClick="C1TreeView_ItemClicked" AllowDragDrop="False" Padding="5" BorderBrush="{StaticResource ComboBoxPopupBorderThemeBrush}" BorderThickness="{StaticResource ComboBoxPopupBorderThemeThickness}" Background="{StaticResource ComboBoxPopupBackgroundThemeBrush}"> |
マークアップ |
コードのコピー
|
---|---|
<Xaml:C1TreeViewItem Header="南アメリカ"> <Xaml:C1TreeViewItem Header="アルゼンチン" /> <Xaml:C1TreeViewItem Header="ブラジル" /> <Xaml:C1TreeViewItem Header="ウルグアイ" /> </Xaml:C1TreeViewItem> <Xaml:C1TreeViewItem Header="ヨーロッパ"> <Xaml:C1TreeViewItem Header="イングランド" /> <Xaml:C1TreeViewItem Header="フランス" /> <Xaml:C1TreeViewItem Header="ドイツ" /> <Xaml:C1TreeViewItem Header="イタリア" /> <Xaml:C1TreeViewItem Header="スペイン" /> </Xaml:C1TreeViewItem> |
C# コードの書き方
C# |
コードのコピー
|
---|---|
using C1.Xaml; |
C# コードの書き方
C# |
コードのコピー
|
---|---|
private void C1TreeView_KeyDown(object sender, KeyRoutedEventArgs e) { if (e.Key == VirtualKey.Enter) { UpdateSelection(); e.Handled = true; } } |
C# コードの書き方
C# |
コードのコピー
|
---|---|
private void UpdateSelection() { if (treeSelection.SelectedItem != null) { selection.Text = treeSelection.SelectedItem.Header.ToString(); } else { selection.Text = "≪ 国を選択 ≫"; } soccerCountries.IsDropDownOpen = false; } |
C# コードの書き方
C# |
コードのコピー
|
---|---|
private void C1TreeView_ItemClicked(object sender, SourcedEventArgs e) { UpdateSelection(); } |
C# コードの書き方
C# |
コードのコピー
|
---|---|
private void ContentControl_MouseLeftButtonDown(object sender, EventArgs e) { soccerCountries.IsDropDownOpen = true; } |
ここまでの成果
このトピックでは、XAML マークアップとコードを使用して階層型 C1DropDown コントロールを作成しました。