2016-07-07 17 views
0

DevExpress GridControlのカラムをカスタマイズしようとしています。私は基本的に列の各セルに2つの行が必要です。 1つはランダムなテキストがあり、もう1つは、というプロパティがMy ObservableCollectionStocksに定義されており、ItemsSourceとして設定されています。 GridColumn.CellTemplateを使用せずに、セル受信は正しいMaxプロパティ値を持ちます。しかし、Grid.CellTemplateが導入されたら、私はMaxのプロパティ値をプリントアウトすることができません。私はバインディングが間違っていると仮定していますが、何が間違っているか把握することはできません。カラム(セル)値へのバインド

 <dxg:GridControl EnableSmartColumnsGeneration="True" ItemsSource="{Binding Stocks}" 
        SelectionMode="None" AllowLiveDataShaping="True"  > 

      <dxg:GridControl.Columns> 
      <dxg:GridColumn x:Name="MaxColumn" Binding="{Binding Max, Mode=TwoWay}" MinWidth="60" Width="60" AllowResizing="True" 
       FixedWidth="true" Header="Max" ReadOnly="True"> 
       <dxg:GridColumn.CellTemplate> 
        <DataTemplate > 
         <Grid > 
          <Grid.RowDefinitions> 
           <RowDefinition/> 
           <RowDefinition/> 
          </Grid.RowDefinitions> 
          <TextBlock Text="Max is..." ></TextBlock> 
          <TextBlock Grid.Row="1" Text="{Binding Max, Mode=TwoWay}"></TextBlock> 
         </Grid> 
        </DataTemplate> 
       </dxg:GridColumn.CellTemplate> 
       </dxg:GridColumn> 
      </dxg:GridControl.Columns> 

    </dxg:GridControl> 

最初の画像は、もう一つはCellTemplateである、CellTemplateなしです。

Without the CellTemplate

With the CellTemplate

すべての助けに感謝:)

答えて

2

、この問題の原因は間違ってBinding Pathです。 CellTemplateのコンテンツは、DataContextとしてGridCellDataオブジェクトを使用することに注意してください。

ソースが行のViewModelにある: XAML: :

Command="{Binding RowData.Row.Max}" 

ソースはDataContextのようDXGridコントロールにバインドされてバインドパスが必要なコマンドが含まれているものをViewModelに基づいて異なって見えるはずですXAML:

Command="{Binding View.DataContext.Max}" 
+0

ありがとうございます!これは完全に私の問題を解決:) –

関連する問題