2017-06-05 60 views
1

我有一個DataGrid,我是結合的,我有我的一些文本返回圖像的希望的對象發送到valueConverter之後(它被放入一個堆棧面板)。但是,顯示所有我在gridview單元格中看到的是System.Windows.Control.StackPanel。如何從一個ValueConverter返回一個StackPanel元素,讓它能正確顯示

這裏是xaml。我正確地綁定了GrieView ItemsSource,並且進入轉換器的值是正確的。

<telerik:GridViewDataColumn DataMemberBinding="{Binding Converter={StaticResource MyConverter}}" IsReadOnly="True"> 
<telerik:GridViewDataColumn.Header> 
    <TextBlock FontWeight="Bold" Text="Text" /> 
</telerik:GridViewDataColumn.Header> 
</telerik:GridViewDataColumn> 

這基本上就是轉換器的功能。

StackPanel stackpanel = new StackPanel(); 
stackpanel.Orientation = Orientation.Horizontal; 
stackpanel.Children.Add(Adds a UI element); 

TextBlock textBlock = new TextBlock(); 
textBlock.Text = appendingText; 
stackpanel.Children.Add(textBlock); 
return stackpanel; 

但在gridviewCell中顯示的是一個讀取System.Windows.Controls.StackPanel的字符串。任何幫助將不勝感激,謝謝!

+1

一個GridViewDataColumn不知道如何解釋一個StackPanel「數據」,只是調用它的ToString方法。您應該使用基本的GridViewColumn和適當的CellTemplate。 – Clemens

回答

0

嘗試使用GridViewColumn和使用轉換器ContentControlContent屬性綁定:

<telerik:GridViewColumn IsReadOnly="True"> 
    <telerik:GridViewColumn.Header> 
     <TextBlock FontWeight="Bold" Text="Text" /> 
    </telerik:GridViewColumn.Header> 
    <telerik:GridViewColumn.CellTemplate> 
     <DataTemplate> 
      <ContentControl Content="{Binding Converter={StaticResource MyConverter}}" /> 
     </DataTemplate> 
    </telerik:GridViewColumn.CellTemplate> 
</telerik:GridViewColumn> 
+0

這工作完美,謝謝! – Marsh

相關問題