Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Отображение изменения параметра на форме в реально


Автор: BwehaaFox 4.11.2015, 15:13
Привет. Есть необходимость написать свой CastomControl. Разобрался как его организовать и добавил параметр, для теста. Создал привязку этого параметра к параметру определяющим скругление краев у Border. Вроде бы и работает, но не обновляется в самом редакторе. то есть после выноса элемента на форму и изменения моего параметра, края как были так и остаются. помогает только собрать приложение и закрыть его. после этого скругление в редакторе отображается. Делаю привязку через контекстное меню параметра. Может я что то не то выбираю в доп настройках, или какой то код автообновления нужен? (Делаю всё в Blend)

Код

public class APIButton : Button
{

    int _rad;
    public int rad
    {
        get { return _rad; }
        set { _rad = value;

        }
    }


    static APIButton()
    {
        DefaultStyleKeyProperty.OverrideMetadata(typeof(APIButton), new FrameworkPropertyMetadata(typeof(APIButton)));
    }
}





Generic.xaml
Код

<Style TargetType="{x:Type local:APIButton}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type local:APIButton}">
                <Border
                        BorderThickness="{TemplateBinding BorderThickness}" 
                    CornerRadius="{Binding rad, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:APIButton}}}" Background="#FFA65151" BorderBrush="Black"/>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Автор: kin 5.11.2015, 13:10
Привет!
Свойство должно уведомлять подписчиков о своем изменении... Почитай про интерфейс INotifyPropertyChanged, думаю это из этой оперы...

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Otobrazheniye-izmeneniya-parametra-na-forme-v-realno-id5639f6c7ae2015544d8b4567#findElement_E7045_563b2b06ae2015a84ef4d503_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)