我有几个UserControls
是从 parent 调用的Application
。在我的主应用程序中,我必须ContentControl
填写我的应用程序的几个区域:
黑色区域:主窗口
红色区域:左右ContentControl
蓝色区域:主要ContentControl
代码会像这样查找每个:
<!-- Main container ContentControl -->
<ContentControl Name="ContentMain" Style="{StaticResource animatedContent}" Grid.Column="3" Grid.Row="2" Grid.RowSpan="8" Width="Auto" Opacity="1" Background="Transparent" >
</ContentControl>
<!-- Left container ContentControl -->
<ContentControl Name="ContentLeftMenu" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="2" Grid.RowSpan="8" Width="Auto" Opacity="1" Background="Transparent" >
</ContentControl>
.....
每次我想更改主要内容时,我都会在我的App
一些UserControls
. 其中一个(不复制所有)看起来像这样:
<UserControl x:Class="F7Demo.Interfaces.F7AddUser"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" >
<UserControl.Resources>
<ResourceDictionary Source="../Styles/F7Style.xaml" />
</UserControl.Resources>
<Grid Margin="5,5,5,10" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25" />
<ColumnDefinition Width="728*" />
<ColumnDefinition Width="25" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="25" />
<RowDefinition Height="35" />
<RowDefinition Height="526*" />
</Grid.RowDefinitions>
<Border
Opacity="0.7"
Background="{StaticResource DarkGradient}"
CornerRadius="15" Grid.RowSpan="3" Grid.ColumnSpan="3">
<Border.Effect>
<DropShadowEffect
BlurRadius="5"
Color="#877b77"
Opacity="100"
ShadowDepth="5"
Direction="-50" />
</Border.Effect>
</Border>
<Label Grid.Row="1" Grid.Column="1" Height="28" Name="labelWelcomeMessage" VerticalAlignment="Top" Grid.ColumnSpan="3" FontStretch="Expanded" />
<TextBlock Name="textBlockMainContent" Grid.Row="2" Grid.Column="1" TextWrapping="Wrap"></TextBlock>
</Grid>
但每个人都UserControl
需要与其他人交流。我已经搜索过,我发现一个解决方案是使用Event Aggregator
,但我没有找到任何有趣的手册/指南,我不确定如何使用它发送信息。
为什么我需要在用户控件之间进行通信?蓝色的(例如)有一个 DataGrid。左边有一个更新按钮,所以当我按下时update
,我希望数据网格将更改保存在蓝色区域。右侧区域接收一些用户信息,并打印出来。
有谁能够帮助我?
或者任何简单的例子都会非常感谢!