Silverlight Slider CustomConstrol属性不可用

时间:2011-06-02 15:58:58

标签: silverlight silverlight-4.0 custom-controls

我使用Blend 4创建了一个自定义控件来自定义Slide对象。这是一个由Blend生成的代码片段:

<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    x:Class="SilverlightControlCustomSlider.CustomSlider"
    d:DesignWidth="640" d:DesignHeight="480">
    <UserControl.Resources>
        <Style x:Key="SliderStyle1" TargetType="Slider">
            <Setter Property="BorderThickness" Value="1"/>
            <Setter Property="Maximum" Value="10"/>
            <Setter Property="Minimum" Value="0"/>
            <Setter Property="Value" Value="0"/>
            <Setter Property="BorderBrush">

然后我构建项目并将其导入VS2010。我可以创建一个自定义滑块的实例,它具有相同的外观和所有。但是,属性值,最大值和最小值(可能还有其他值)不可用。像自定义控件没有从滑块继承。我究竟做错了什么?

由于

1 个答案:

答案 0 :(得分:1)

好的,所以UserControls和Custom Controls有很大的不同。虽然你没有发布你的所有代码,我建议,看起来你在这里有一个UserControl包含一个具有自定义StyleTemplate的Slider。

所以基本上,你没有创建一个控件,它可以从Slider控件中获取功能,你创建的控件包含一个Slider。这意味着您无法直接访问Slider属性,因为Usercontrol不是Slider的类型。

因此,假设您实际上没有更改Slider的任何功能,只是改变了样式,您应该重复使用UserControl中的Style模板并将其作为资源应用于Slider Control。