Свойства пользовательского контекста Silverlight Slider недоступны - PullRequest
0 голосов
/ 02 июня 2011

Я создал пользовательский элемент управления с 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. Я могу создать экземпляр пользовательского слайдера, он выглядит так же, как и все. Однако свойства Value, Maximum и Minimum (и, возможно, другие) недоступны. Вроде пользовательский элемент управления не унаследован от слайдера. Что я делаю неправильно?

Спасибо

1 Ответ

1 голос
/ 02 июня 2011

Хорошо, так что есть большая разница в пользовательских элементах управления и пользовательских элементах управления. Несмотря на то, что вы не опубликовали весь свой код, который я бы предложил, похоже, у вас есть UserControl, который содержит Slider с настраиваемым шаблоном StyleTemplate.

Таким образом, по сути, вы не создаете элемент управления, который наследует функциональность от элемента управления Slider, вы создаете элемент управления, который содержит ползунок. Это означает, что вы не можете напрямую получить доступ к свойствам Slider, потому что Usercontrol не является типом Slider.

Итак, при условии, что вы на самом деле не изменили ни одну из функций Slider, а только стиль, вам нужно повторно использовать шаблон Style, который есть в вашем UserControl, и применить его к элементу управления Slider в качестве ресурса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...