2013-02-21 2 views
1

Я изучаю, как писать приложение для Windows 8, и я не могу найти ответы на свои вопросы.изменение значения пользовательского текстового блока по коду

Я создал пользовательский элемент управления, где я добавляю по нажатию кнопки с:

onclick() { 
    card currentcard = new card(); 
    ... 
    ... 
    hand.Children.add(currentCard); 
} 

в page.cs

управления

Текущая карта имеет Generic.xaml информацию, которая выглядит следующим образом, содержащий TextBlock

<Style TargetType="local:tile"> 
    <Setter Property="VerticalAlignment" Value="Center"/> 
    <Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="local:tile"> 
     <Border 
      Background="{TemplateBinding Background}" 
      BorderBrush="{TemplateBinding BorderBrush}" 
      BorderThickness="{TemplateBinding BorderThickness}"> 
      <TextBlock x:Name="Label"/> // <----------------------- this textblock 
     </Border> 
     </ControlTemplate> 
    </Setter.Value> 
    </Setter> 
</Style> 

Что я могу сделать, чтобы в page.cs или, возможно, card.cs, чтобы получить/установить значение TextBlock имени ярлыка?

Извините, если это элементарно или где-то было где-то раньше, я выполнял поиск, но не нашел ответа!

+0

Если вы хотите установить значение текстового блока в коде, вам необходимо использовать привязку данных wpf. Вроде как в этом вопросе http://stackoverflow.com/q/4344584/299327 –

+0

Спасибо, Райан, я это рассмотрю. – user2097125

ответ

0

Поскольку TextBlock в вопросе является частью ControlTemplate для пользовательского типа под названием Tile, лучше всего для этого будет добавить DependencyProperty к вашему типу плитки и использовать TemplateBinding связать Text свойство TextBlock к значение этого нового DependencyProperty.

Вы не можете легко добраться до ControlTemplate снаружи, чтобы изменить значение части этого шаблона.

This answer содержит один пример использования DependencyProperty и привязка его к ControlTemplate, а быстрый поиск, вероятно, даст много других примеров.

+0

ooh спасибо, я посмотрю на это. извините, если бы я знал о DependencyProperty, я бы посмотрел. Спасибо, что потянул за меня! – user2097125

+0

Рад помочь. [Здесь] (http://msdn.microsoft.com/en-us/library/ms752914.aspx) является статьей MSDN в DependencyProperties. Если вы считаете, что это отвечает на ваш вопрос, отметьте его как ответ. –