Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 隐式xaml样式被显式样式覆盖_Silverlight_Xaml_Silverlight 4.0 - Fatal编程技术网

Silverlight 隐式xaml样式被显式样式覆盖

Silverlight 隐式xaml样式被显式样式覆盖,silverlight,xaml,silverlight-4.0,Silverlight,Xaml,Silverlight 4.0,Silverlight4中有一个非常简单的xaml样式问题 当我通过显式样式设置在元素上设置样式时,隐式样式会被删除吗? 我创建了一个简单的例子来说明这个问题 <UserControl.Resources> <Style TargetType="TextBox"> <Setter Property="Background" Value="red"/> </Style> <Style TargetTyp

Silverlight4中有一个非常简单的xaml样式问题

当我通过显式样式设置在元素上设置样式时,隐式样式会被删除吗? 我创建了一个简单的例子来说明这个问题

<UserControl.Resources>
    <Style TargetType="TextBox">
        <Setter Property="Background" Value="red"/>
    </Style>

    <Style TargetType="FrameworkElement" x:Key="test">
        <Setter Property="Margin" Value="20"/>
    </Style>

</UserControl.Resources>

<Grid x:Name="LayoutRoot" Background="White">
    <TextBox Style="{StaticResource test}" Height="40" Width="120"> </TextBox>
</Grid>
</UserControl>

因此,当我删除
Style=“{StaticResource test}
将再次应用隐式样式

注意:这是一个过于简化的示例。因此,将边距移动到texbox样式不是一个选项,因为实际项目包含更大的xaml样式

是否有人知道解决方案或可以确认这是不可能的


提前点击!

查看BasedOn样式属性。这将允许您继承基本样式,使用基本属性并添加一些更改

现在,BasedOn存在一个问题-它不能与隐式样式一起使用。但是,这很容易解决。本文演示了解决方法,并将更好地解释BasedOn属性:


嘿,thx对于响应,我知道如何使用basedon,但在这种情况下它不是很有用,因为你不能将框架样式建立在textbox样式的基础上。在最后的代码中,textbox将包含一个自定义模板…我猜你不想将textbox样式建立在FrameworkElement样式的基础上?不,因为我想添加Stylen在某些情况下,它可能不是很清楚,因为我过于简化了上面的例子,最后一个更复杂,需要正确的顺序。