iranrose63
شنبه 30 مهر 1390, 09:06 صبح
من دوتا style دارم به شکل زیر
<Style x:Key="baseStyle" TargetType="{x:Type Window}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Window}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<ContentPresenter Content="{TemplateBinding Tag}"></ContentPresenter>
<TextBlock Grid.Row="1">base style</TextBlock>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="style1" TargetType="{x:Type Window}" BasedOn="{StaticResource baseStyle}">
<Setter Property="Tag">
<Setter.Value>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock>style1</TextBlock>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=Window},Path=Conten t}"></ContentPresenter>
</Grid>
</Setter.Value>
</Setter>
</Style>
وقتی style ویندو را style1 قرار میدم دوتا مشکل برام پیش میاد
1- وقتی فرم اولم رو باز میکنم مشکلی نیست ولی وقتی فرم دوم رو باز میکنم فرم اولم سفید میشه وکلیه عناصرش پاک میشن
2- من یکسری command تعریف کردم برای basestyle ولی توی فرم هام اونها کار نمی کنن
چه طوری میتونم یه basestyle تعریف کنم برای window و چند style دیگه که از style اولم استفاده کنن؟
<Style x:Key="baseStyle" TargetType="{x:Type Window}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Window}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<ContentPresenter Content="{TemplateBinding Tag}"></ContentPresenter>
<TextBlock Grid.Row="1">base style</TextBlock>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="style1" TargetType="{x:Type Window}" BasedOn="{StaticResource baseStyle}">
<Setter Property="Tag">
<Setter.Value>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock>style1</TextBlock>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=Window},Path=Conten t}"></ContentPresenter>
</Grid>
</Setter.Value>
</Setter>
</Style>
وقتی style ویندو را style1 قرار میدم دوتا مشکل برام پیش میاد
1- وقتی فرم اولم رو باز میکنم مشکلی نیست ولی وقتی فرم دوم رو باز میکنم فرم اولم سفید میشه وکلیه عناصرش پاک میشن
2- من یکسری command تعریف کردم برای basestyle ولی توی فرم هام اونها کار نمی کنن
چه طوری میتونم یه basestyle تعریف کنم برای window و چند style دیگه که از style اولم استفاده کنن؟