Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.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
C# XAML:OpacityMask的ContentPresenter_C#_Xaml_Windows Phone - Fatal编程技术网

C# XAML:OpacityMask的ContentPresenter

C# XAML:OpacityMask的ContentPresenter,c#,xaml,windows-phone,C#,Xaml,Windows Phone,我正在为toggleButtons制作一个定制的controlTemplate,它根据切换状态更改指定图像的颜色。我的计划是使用一个基于visualState的颜色的矩形,并将图像用于其不透明掩码。我得到的设计时错误是ContentPresenter需要一个笔刷 让contentPresenter提供该笔刷是否无效?contentPresenter的全部目的不是使用样式提供控件的内容吗 以下是我的代码的简化版本供参考: <Style x:Key="customToggleButtonSty

我正在为toggleButtons制作一个定制的controlTemplate,它根据切换状态更改指定图像的颜色。我的计划是使用一个基于visualState的颜色的矩形,并将图像用于其不透明掩码。我得到的设计时错误是ContentPresenter需要一个笔刷

让contentPresenter提供该笔刷是否无效?contentPresenter的全部目的不是使用样式提供控件的内容吗

以下是我的代码的简化版本供参考:

<Style x:Key="customToggleButtonStyle" TargetType="ToggleButton">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ToggleButton">
                <Rectangle>
                    <Rectangle.OpacityMask>
                        <ContentPresenter Content="{TemplateBinding Content}" />
                    </Rectangle.OpacityMask>
                </Rectangle>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

ContentPresenter不提供任何内容。 它是一个控件,与任何其他控件一样,它继承自FrameworkElement/UIElement

OpacityMask属性需要一个类似于错误所述的笔刷。笔刷正在从DependencyObject继承

长话短说,不,你不能那样做

请试着更准确地解释你要完成什么。您只是想修改控件内容的不透明度吗