UserControls
親から呼び出されるものがいくつかあり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
. それらの1つ(すべてをコピーしないため)は次のようになります。
<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
、データグリッドが青い領域に変更を保存するようにします。右側の領域は、いくつかのユーザー情報を受け取り、それを印刷します。
誰でも私を助けることができますか?
または、簡単な例は本当に感謝します!!