所以我关注了这本书Practical WPF Charts and Graphics。我是第2章的第3个代码示例。我一直在使用代码no XAML在F#中重新创建它的内容。
我需要设置TextBlock的Grid.Column属性。只有当我做了自动完成时,我的TextBlocks才会出现没有网格属性,所以我研究了它,它被称为附加属性。我查了here on the MSDN。
不幸的是,尽管知道并遵循MSDN的例子我无法让它发挥作用。我收到了这个错误。
1 is not a valid value for property 'Column'
如果1无效,我不确定它应该是什么。 Visual Studio中的Intellisense告诉我第二个参数 SetValue()是一个实际上没用的对象。
这是我的代码。
type L3Display() as this =
class
inherit TextBlock()
do
this.Margin <- new Thickness(5.0,10.0,5.0,5.0)
this.FontSize <- 14.0
this.HorizontalAlignment <- HorizontalAlignment.Right
this.SetValue(Grid.ColumnProperty, 1.0)
this.TextAlignment <- TextAlignment.Center
end
以下是本书中一些相关XAML的示例
<TextBlock HorizontalAlignment="Right" Grid.Column="1" Grid.Row="2 Margin="5,5,10,5">X2</TextBlock>
答案 0 :(得分:1)
您需要将ColumnProperty设置为integer
而不是float
this.SetValue(Grid.ColumnProperty, 1)
答案 1 :(得分:1)
是否要将文本块设置为网格?下面的代码是vb,但这就是我的完成方式。
Dim txt1 As New TextBlock()
txt1.HorizontalAlignment = Windows.HorizontalAlignment.Center
txt1.VerticalAlignment = Windows.VerticalAlignment.Center
txt1.Text = ""
contentGrid.Children.Add(txt1)
Grid.SetColumn(txt1, 0)
Grid.SetRow(txt1, 0)
contentGrid是一个动态创建的代码隐藏的网格,这是我的大型代码的一部分,我在其中添加控件到网格。希望它有所帮助。