私は、これは基本的にこのようなユーザーコントロールで、私のオーバーレイポップアップをデザイン:私は小さな違いで、このようないくつかのウィンドウを設計する必要がスタイルを再利用するには?
<Grid VerticalAlignment="Center" HorizontalAlignment="Center" MaxWidth="400" MinHeight="150" MinWidth="250">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="42" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Path Grid.ColumnSpan="2" Data="M0,26 L27,26 L27,0 L26,0 z" Fill="#FFFFFF" />
<Border Background="#FFFFFF" Margin="27, 0, 0, 0" />
<Image
Source="/Infrastructure.SL;component/Images/img_logo.png"
Height="24" HorizontalAlignment="Left" Margin="15,0,0,0" />
<Image
Source="/Infrastructure.SL;component/Images/img_tab_ornament.png"
Height="26" HorizontalAlignment="Right"/>
<Border Grid.Row="1" Grid.RowSpan="3" BorderThickness="1" BorderBrush="#23ceff">
<Border.Effect>
<DropShadowEffect Opacity="0.75" Direction="-45" Color="Black" ShadowDepth="3"/>
</Border.Effect>
</Border>
<Border Grid.Row="2" Margin="1,0,1,1" Grid.RowSpan="2">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#fcfff4"/>
<GradientStop Color="#cfddea" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<my:DitatToolbar Grid.Row="1" Mode="Ok" Margin="1, 0, 1, 0" CaptionsOrientation="Horizontal"/>
<Image
Grid.Row="2" Height="32" Width="32"
VerticalAlignment="Bottom" HorizontalAlignment="Center"
Source="{Binding InteractionIconSource}" />
<TextBlock Grid.Row="3" Foreground="#3c3c3c" Text="{Binding Message}" HorizontalAlignment="Center" TextWrapping="Wrap" Margin="10" />
</Grid>
。このXAMLのほとんどは再利用することができますが、私はそれにどのようにアプローチするのか分かりません。ここの唯一のユニークなXAMLは
<my:DitatToolbar Grid.Row="1" Mode="Ok" Margin="1, 0, 1, 0" CaptionsOrientation="Horizontal"/>
<Image
Grid.Row="2" Height="32" Width="32"
VerticalAlignment="Bottom" HorizontalAlignment="Center"
Source="{Binding InteractionIconSource}" />
<TextBlock Grid.Row="3" Foreground="#3c3c3c" Text="{Binding Message}" HorizontalAlignment="Center" TextWrapping="Wrap" Margin="10" />
です。他のすべてはクロムです。私は本当にそれを1か所だけに持っていたい。この再利用を達成するためにSilverlightで何を使用できますか?
ベースコントロールを作成して継承する必要がありますが、XAMLの面では快適ではないようです。私のコードはかなり空白ですが、私はMVVMを使用しています
このレンダリングされたコントロールの外観を投稿できますか?私はあなたがそれを見ずに達成しようとしていることを伝えることはできません。 – terphi