gpt4 book ai didi

c# - 在 C# 中构建数据模板

转载 作者:行者123 更新时间:2023-11-30 18:07:47 25 4
gpt4 key购买 nike

我正在尝试在 C# 中构建以下 DataTemplate

<DataTemplate x:Key="lbl">
<!-- Grid 2x2 with black border -->
<Border BorderBrush="Black">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<!-- x-coordinate -->
<TextBlock Text="X=" />
<TextBlock Grid.Column="1" Text="{Binding Path=[XValues], Converter={x:Static my:Converters.Format}, ConverterParameter=#.##}"/>
<!-- y-coordinate -->
<TextBlock Grid.Row="1" Text="Y=" />
<TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding Path=Value, Converter={x:Static my:Converters.Format}, ConverterParameter=#.##}" />
</Grid>
</Border>
</DataTemplate>

我已经走到这一步了,我无法弄清楚 Grid.ColumnDefinitions,我得到了一个异常(exception)

FrameworkElementFactory must be in a sealed template for this operation.

private static DataTemplate GetToolTipsDataTemplate()
{
FrameworkElementFactory grid = new FrameworkElementFactory(typeof(Grid));

FrameworkElementFactory x = new FrameworkElementFactory(typeof(TextBlock));
x.SetBinding(TextBlock.TextProperty, new Binding("X="));
grid.AppendChild(x);

FrameworkElementFactory xValue = new FrameworkElementFactory(typeof(TextBlock));
xValue.SetValue(TextBlock.TextProperty, "{Binding Path=[XValues], Converter={x:Static my:Converters.Format}, ConverterParameter=#.##}");
grid.AppendChild(xValue);

FrameworkElementFactory y = new FrameworkElementFactory(typeof(TextBlock));
y.SetBinding(TextBlock.TextProperty, new Binding("Y="));
grid.AppendChild(y);

FrameworkElementFactory yValue = new FrameworkElementFactory(typeof(TextBlock));
yValue.SetValue(TextBlock.TextProperty, "{Binding Path=Values, Converter={x:Static my:Converters.Format}, ConverterParameter=#.##}");
grid.AppendChild(yValue);

FrameworkElementFactory border = new FrameworkElementFactory(typeof(Border));
border.SetValue(Border.BorderBrushProperty, System.Windows.Media.Brushes.Black);
border.AppendChild(grid);

DataTemplate dt = new DataTemplate {VisualTree = border};
return dt;
}

如有任何帮助,我们将不胜感激。

最佳答案

关于c# - 在 C# 中构建数据模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3773154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com