我现在很坚持,我会解释我的问题和我想要的。 在我解决方案我有一个主窗口,在主窗口我打电话第一用户控件谁坐落在一个userControlLibrary。我有一个按钮菜单。我希望当我在第一个用户控件的第一个按钮点击,我希望把知名度第二用户控件的到可见(也位于userControlLibrary)。但我尝试了很多东西,但没有人工作。如何从一个MainWindow(C#/ Xaml)中的两个位置点击另一个UserControl来显示/调用UserControl
第一个用户控件UC_MenuSlider和UC_Start_Study是谁拥有点击上的第一个按钮后要都看得到第二。发射时UC_Start_Study隐藏。
这是我的主窗口的代码的一部分:
<Grid Name="MainGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<UserControlLibrary:UC_StartStudy x:Name="UC_Start_Study" Grid.Column="1" Height="Auto" Width="Auto" Margin="70 0 0 0" Visibility="Hidden"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.1*" MaxWidth="240" MinWidth="240" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<UserControlLibrary:UC_MenuSlider x:Name="UC_MenuSlider" Grid.Column="0"/>
</Grid>
</Grid>
我的第一用户控件(UC_MenuSlider)的代码的一部分:
<Grid Name="Grid_Menu" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button x:Name="Start_Study" Grid.Row="0" Grid.Column="0" Margin="0" Content="Start Study" FontSize="16" Click="Start_Study_Click">
</Button>
</Grid>
在第一基本事件,只是一个事件点击我的第一个userControl。代码如下:
public void Start_Study_Click(object sender, RoutedEventArgs e)
{
var startStudy = new UserControlLibrary.UC_StartStudy();
startStudy.Visibility = Visibility.Visible;
}
不工作。然后我使用'RoutedEvent',但我并不真正了解它的工作原理。
我希望我的问题是不够清楚,在此先感谢您的anwsers
最可靠的就是使用* binding *。在'UserControl1'中提供一个依赖属性,该值应该控制'UserControl2'的可见性,绑定'UserControl2'的可见性(如果你使用'bool',那么你必须使用转换器,参见[this](http:// stackoverflow .com/q/7000819/1997232)问题)。 – Sinatr 2014-10-10 09:02:53
好吧,我要去看看这个谢谢 – 2014-10-10 09:06:17