Forums Neueste Beiträge
 

WPF Background Property wird nicht veerbt (dependency property)

08/10/2008 - 15:12 von Chris Oertel | Report spam
Hallo,
ich mache gerade meine ersten Gehversuche mit der WPF und komme mit dem
Setrzen der Background Property ins Straucheln:
Wenn ich das Konzept richtig verstanden habe, erben alle untergeordneten
Elemente die Eigenschaften der übergeordneten Elemente, wenn diese nicht
explizit gesetzt werden.

Ich habe nun folgende Form:


<Window
xmlns="http://schemas.microsoft.com/winfx/...tion"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="de.coe.application.canberra.frmMain"
x:Name="Main"
Title="Canberra"
Width="912" Height="640"
xmlns:d="http://schemas.microsoft.com/expres...2008"
xmlns:mc="http://schemas.openxmlformats.org/m...2006"
mc:Ignorable="d" Background="#FF2D2D2D" FontSize="32">

<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="200"/>
<ColumnDefinition MinWidth="600"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition MinHeight="200"/>
<RowDefinition MinHeight="200"/>
</Grid.RowDefinitions>
<TreeView Grid.Row="0" Width="Auto" Height="Auto"/>
<GridSplitter ResizeDirection="Rows" VerticalAlignment="Bottom"
x:Name="oSplitH" Height="5" HorizontalAlignment="Stretch"/>
<TreeView Grid.Row="1" Width="Auto" Height="Auto" MinWidth="80"
MinHeight="80"/>
<GridSplitter Width="5" Grid.Row="0" ResizeDirection="Columns"
x:Name="oSplitV"/>
<TabControl Grid.Column="1" Grid.RowSpan="2"
IsSynchronizedWithCurrentItem="True" Width="Auto" Height="Auto"
x:Name="oTabCtrl">
<TabItem Header="Tab1">
<Grid/>
</TabItem>
<TabItem Header="Tab2">
<Grid/>
</TabItem>
<TabItem Header="Tab3">
<Grid/>
</TabItem>
</TabControl>
</Grid>
</Window>

Die für das Element Window gesetzte Schriftgröße finde ich dann auch wieder
in der Schriftgröße der Tabs, aber der Background wird nicht auf die
untergeordneten Elemente durchgereicht, die bleiben weiß...

Per Google hab ich gerade nichts gefunden, kann mir jemand sagen, woran es
liegt?

Danke,
Chris
 

Lesen sie die antworten

#1 Maximilian Hänel
08/10/2008 - 15:34 | Warnen spam
Hi Chris,

ich mache gerade meine ersten Gehversuche mit der WPF und komme mit dem
Setrzen der Background Property ins Straucheln:
Wenn ich das Konzept richtig verstanden habe, erben alle untergeordneten
Elemente die Eigenschaften der übergeordneten Elemente, wenn diese nicht
explizit gesetzt werden.



Vererbt wird nur, wenn FrameworkPropertyMetadata.Inherits für dieses
Dependency Property auch auf true gesetzt ist, was im Falle der
Background Eigenschaft nicht der Fall ist.

Siehe unter "Dependency Property Information". Dort ist "Inherits" nicht
aufgelistet.

[Control.Background Property (System.Windows.Controls)]
http://msdn.microsoft.com/en-us/lib...round.aspx

hth

Max

Ähnliche fragen