我使用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。我可以创建一个自定义滑块的实例,它具有相同的外观和所有。但是,属性值,最大值和最小值(可能还有其他值)不可用。像自定义控件没有从滑块继承。我究竟做错了什么?
由于
答案 0 :(得分:1)
好的,所以UserControls和Custom Controls有很大的不同。虽然你没有发布你的所有代码,我建议,看起来你在这里有一个UserControl包含一个具有自定义StyleTemplate的Slider。
所以基本上,你没有创建一个控件,它可以从Slider控件中获取功能,你创建的控件包含一个Slider。这意味着您无法直接访问Slider属性,因为Usercontrol不是Slider的类型。
因此,假设您实际上没有更改Slider的任何功能,只是改变了样式,您应该重复使用UserControl中的Style模板并将其作为资源应用于Slider Control。