从不同的类访问网格

时间:2015-02-20 14:55:45

标签: wpf vb.net

如何从代码中的其他类访问Grid控件?

我需要Grid的相同实例。 而且似乎无法使Grid控件共享。

也许我可以某种方式对Grid的所有内容进行数据绑定?

编辑:

好的,这是一个简单的例子:

我有一个带网格的简单窗口:

<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">

<Grid x:Name="MyGrid">

</Grid>
</Window>

我想动态地向这个网格添加一些新元素,所以从同一个窗口类我会做这样的事情:

Public Class MainWindow 

Sub MySub()
    Dim NewElement As UIElement

    Me.MyGrid.Children.Add(NewElement)
End Sub

End Class

但是如果我想从窗口类之外添加新元素,我怎么能这样做呢?例如:

Class MyNewClass

Sub MySub()
    Dim NewElement As UIElement

    MainWindow.MyGrid.Children.Add(NewElement)
End Sub

End Class

这不起作用,因为它需要一个新实例,但我需要访问相同的原始实例。

1 个答案:

答案 0 :(得分:0)

将数据网格作为参数传递给类。下面的课程基于你的例子。

Class MyNewClass

    Sub MySub(MyGrid as DataGrid)

       Dim NewElement As UIElement
       MyGrid.Children.Add(NewElement)

    End Sub

End Class