Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2016, 16:37   #1
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию Проблема с шаблоном

Добрый день.
Подскажите как правильно создать связь со свойством класс в шаблоне??

Код класса:
Код:
public class MyItem : ContentControl
    {
        public string ItemPropName
        {
            get { return (string)GetValue(ItemPropNameProperty); }
            set { SetValue(ItemPropNameProperty, value); }
        }

        public static readonly DependencyProperty ItemPropNameProperty = DependencyProperty.Register("ItemPropName", typeof(string), typeof(MyItem), new UIPropertyMetadata("Unnamed", ItemPropNamePropertyChanged));

        private static void ItemPropNamePropertyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
        {
            ((MyItem)obj).InvalidateVisual();
        }

        static MyItem()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(MyItem), new FrameworkPropertyMetadata(typeof(MyItem)));
        }
    }
Код шаблона:
Код:
  <Style TargetType="{x:Type local:MyItem}">
            <Setter Property="ItemPropName" Value="XAMLVAL"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type local:MyItem}">
                        <Grid>
                            <Border CornerRadius="1" Height="50" BorderBrush="#FFE2E2E2" BorderThickness="1">
                                <Border.Background>
                                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                        <GradientStop Color="White" Offset="0" />
                                        <GradientStop Color="#FFE2E2E2" Offset="1" />
                                    </LinearGradientBrush>
                                </Border.Background>

                                <Grid>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="125" />
                                        <ColumnDefinition Width="130" />
                                    </Grid.ColumnDefinitions>
               Вот это не срабатывает.   -- >> <TextBlock Margin="10,0,0,0" HorizontalAlignment="Left" FontSize="16" Foreground="Black" VerticalAlignment="Center" Text="{Binding Path=MyItem.ItemPropName, RelativeSource={RelativeSource TemplatedParent}}"/>
                                </Grid>

                            </Border>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
Хотелось бы чтобы текст связывался с полем класса автоматически.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с шаблоном АНЯ_17 БД в Delphi 1 18.10.2014 15:13
Помогите с шаблоном Михаил111 Помощь студентам 0 06.05.2014 23:30
DLE проблема с шаблоном KoBaL WordPress и другие CMS 0 19.05.2013 00:31
Помогите с шаблоном kaviga HTML и CSS 0 16.09.2009 12:04