从MainWindow传递值到UserControl

时间:2014-01-10 12:42:24

标签: wpf vb.net user-controls

我有一个简单的应用程序,我想将一个变量从MainWindow传递给UserControl。

这是我的MainWindow中的Grid,我在我的UserControl中调用了Forrasok。

MainWindow.xaml

<Grid Grid.Row="1" Grid.ColumnSpan="3" Name="Sources"></Grid>

这是MainWindow.xaml.vb

MainWindow.xaml.vb

For value AS Integer From 1 To 5

        Dim forras As New Forrasok
        Sources.Children.Add(forras)  //Pass value here somehow!

Next

我的Usercontrol有一个设计的xaml,有一些组合框。目标是将一个整数传递给UserControl,以创建具有不同组合框名称的相同设计。

Sources.xaml

<ComboBox Width="250" Height="25" Name="SomeName+value">

1 个答案:

答案 0 :(得分:1)

您的问题不清楚,但我确实理解您要将int值从MainWindow传递到UserControl。通常的方法是在UserControl

中声明一个属性
public int IntValue { get; set; }

然后,如果您可以访问UserControl中的MainWindow,则可以执行以下操作:

YourUserControl.IntValue = yourIntValue;

如果您希望能够将数据绑定到属性,那么您需要声明DependencyProperty。您可以在MSDN上的Dependency Properties Overview页面中找到如何执行此操作,但您可以在XAML中执行此操作:

<YourXmlNamespacePrefix:YourUserControl IntValue="{Binding IntValueFromMainWindow}" />