WPFインターフェイス開発:WPFグリッドコントロールユニットでバインディングパスを確立する方法

DevExpress Technical Exchange Group 2:775869749グループディスカッションへようこそ

DevExpress v20.1フルバージョンをダウンロード

DevExpress社のWPFコントロール、あなたは現代的な顧客のニーズに焦点を当て、強力なインタラクティブ機能を備えたXAMLベースのアプリケーションを作成することができますし、将来的にはタッチ対応ソリューションの新世代を構築します。

システムの背景

  • プラットフォーム:WPF
  • 製品:DXGrid for WPF

セル要素のDataContextにはEditGridCellData  オブジェクトが含まれています。

セル値、列、およびViewModelプロパティにアクセスするには、次のバインディングパスを使用します。

  • 現在のセル値に値アクセスします。
  • 現在の列に列アクセスします。
  • RowData.Row [YourPropertyName] -アクセス。オブジェクトのプロパティからのItemsSourceのコレクション。
  • Data。[FieldName]-サーバーモードで列値と非バインド列値にアクセスします。
  • View.DataContext。[YourPropertyName]-グリッドのViewModelプロパティにアクセスします。

この記事で使用されているバインディングは次のように機能します。

  • ComboBoxEdit.ItemsSourceをグリッドのViewModelのCountrysプロパティにバインドします。
<dxe:ComboBoxEdit x:Name = "PART_Editor" DisplayMember = "Name" ItemsSource = "{Binding View.DataContext.Countries}" />

重要な注意:列内のすべてのエディターに同じItemsSourceコレクションを割り当てる場合は、CellTemplateではなくEditSettingsプロパティを使用してパフォーマンスを向上させます。

  • ComboBoxEdit.ItemsSourceをアイテムレベルで保存されているCitiesプロパティにバインドします。
<dxe:ComboBoxEdit x:Name = "PART_Editor" ItemsSource = "{Binding RowData.Row.Country.Cities}" />
  • Button.Visibilityをバインドされていない列の値にバインドし、バインドされていない列のFieldNameは "Visited"になります。
<Button Visibility = "{Binding Data.Visited、Converter = {dx:BooleanToVisibilityConverter}}">非表示</ Button>
  • ツールチップをバインドして、現在の列のFieldNameとセル値を表示します。
<Setter Property = " 
ToolTip "> <Setter.Value> 
<MultiBinding Converter = "{local:CellTooltipConverter}"> 
<Binding Path = "Column.FieldName" /> 
<Binding Path = "Value" /> 
</ MultiBinding> 
< /Setter.Value> 
</ Setter>

重要な注意: CellToolTipBindingプロパティを使用して、グリッドセルのツールヒントを指定できます。

  • セルの背景をアイテムレベルで格納されているColorプロパティにバインドします。
<!-xmlns:dxmvvm = "http://schemas.devexpress.com/winfx/2008/xaml/mvvm"; -> 
<Style.Triggers> 
<Trigger Property = "SelectionState" Value = "None"> 
<Setter Property = "Background" Value = "{Binding RowData.Row.Color、Converter = {dxmvvm:ColorToBrushConverter}}" /> 
</ Trigger> 
</Style.Triggers>

 

HuiduハイエンドUIインターフェイス開発

おすすめ

転載: blog.csdn.net/AABBbaby/article/details/108461808