如何 return 来自 ValueConverter 的堆栈面板元素并使其正确显示
How can I return a stackpanel element from a ValueConverter and get it to display properly
我有一个绑定到的数据网格,我有一个 valueConverter,我将一个对象发送到该对象,希望返回一个带有一些文本的图像(放在堆栈面板中)。但是,在显示所有我在 gridview 单元格中看到的是 System.Windows.Control.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。任何帮助将不胜感激,谢谢!
尝试使用 GridViewColumn
并使用您的转换器绑定 ContentControl
的 Content
属性:
<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>
我有一个绑定到的数据网格,我有一个 valueConverter,我将一个对象发送到该对象,希望返回一个带有一些文本的图像(放在堆栈面板中)。但是,在显示所有我在 gridview 单元格中看到的是 System.Windows.Control.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。任何帮助将不胜感激,谢谢!
尝试使用 GridViewColumn
并使用您的转换器绑定 ContentControl
的 Content
属性:
<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>