3

私は WPF DataGrid を使用していますが、ひどいです。行またはセルの選択に基づいたユーザー インターフェイス エクスペリエンスが必要であると想定しています。最初に selectセル/行を選択し、もう一度クリックして編集モードにする必要があります。

私はsolutions、DataGrid でシングルクリック編集を行うための多くのハックを提案するものがいくつかあることを認識しています。ただし、任意のタイプのコントロールを列に入れる可能性があると仮定して、これを完全に機能させることは、確実に機能しません。

私が探しているのは、子コントロールを手動で配置したかのように列にドロップするグリッド コントロールです。したがって、すべての機能を備えた DataGrid ではなく、ItemsControl によって生成されたグリッド レイアウトに似ています。

他の開発者が気づいたように、Grid レイアウトの SharedColumns 機能を使用しても機能しません。複雑さのある時点で、SharedColumns が不安定になり、レイアウトがジャンプしてちらつき始め、ロックアップします。

助言がありますか?

4

1 に答える 1

3

これを行うには、リスト ボックスなどの別のコントロールにバインドし、Item Template を使用して「列」を生成します (おそらく、水平スタック パネルで固定幅の項目を使用します)。

<ListBox ItemsSource="{Binding Path=MyData}">
   <ListBox.ItemTemplate>
      <StackPanel Orientation="Horizontal">
         ...Bunch of text boxes, etc....
      </StackPanel>
   </ListBox.ItemTemplate>
</ListBox>

項目テンプレートをサポートし、事前に作成された GridView "スタイル" が付属している ListView を使用することもできます: http://msdn.microsoft.com/en-us/library/system.windows.controls.listview.aspx

于 2013-10-16T05:15:06.870 に答える