У меня стиль окна WPF, определенный таким образом:
<Style
x:Key="Applet"
TargetType="{x:Type Window}">
<Setter
Property="WindowStyle"
Value="None" />
<Setter
Property="WindowState"
Value="Maximized" />
<Setter
Property="Title"
Value="Hindenburg" />
<Setter
Property="FontFamily"
Value="Arial" />
<Setter
Property="Height"
Value="650" />
<Setter
Property="Width"
Value="850" />
</Style>
Мое приложение затем определяет несколько экранов, используя этот стиль (FlowWindow просто выводится из Window с несколькими дополнительными битами):
<uControl:FlowWindow
x:Class="KaleidoscopeApplication.DisposablesScan"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:u="clr-namespace:KaleidoscopeApplication"
xmlns:uControl="clr-namespace:KaleidoscopeApplication.Controls"
Style="{StaticResource Applet}"
Loaded="disposablesScanWindow_Loaded"
Unloaded="disposablesScanWindow_Unloaded">
<Canvas>
<!-- Top Bar Background -->
<Image
Source="Resources/Elements/Backgrounds/16.png" />
text etc etc...
</Canvas>
Мой вопрос - Как определить текстовый блок, который будет отображаться в каждом окне, использующем этот стиль? Например, если я хочу, чтобы логотип отображался в верхнем правом углу каждого экрана ...
Поскольку стиль определяет такие вещи, как размер и шрифт, а не содержимое холста, я не уверен, как это сделать.
Заранее спасибо!
РЕДАКТИРОВАТЬ: FlowWindow не является UserControl. Это только часть моего пространства имен KaleidoscopeApplication.Controls. Это определяется как:
public class FlowWindow : Window
{
public FlowWindow()
: base()
{ }
/// <summary>
/// Transition smoothly to another FlowWindow.
/// </summary>
/// <param name="toWindow">The window to transtion to.</param>
public override void Transition(FlowWindow toWindow)
{
...
}
}