Как добавить унаследованный элемент управления к табличке данных в WPF? - PullRequest
0 голосов
/ 06 февраля 2010

Мне нужно дополнительное свойство зависимости для элемента управления, поэтому я переопределяю его. I.E.:

namespace Custom_TextBlock_Sample
{
  public class CustomLabel: Label
  {

  }
}

Но мне кажется, что я не могу добавить его в шаблон данных. Следующий код не удастся собрать:

 ... xmlns:Custom_TextBlock_Sample="clr-namespace:Custom_TextBlock_Sample" ...

   <DataTemplate x:Key="Test">
      <Grid>
        <Custom_TextBlock_Sample:CustomLabel></Custom_TextBlock_Sample:CustomLabel>
      </Grid>
    </DataTemplate>

Однако вставка моего переопределенного элемента управления где-либо еще (скажем, не в табличке с данными) .. и компиляция работает без проблем.

Следующие работы: (Мой элемент управления не вложен в шаблон даты).

  <Grid>
      <Custom_TextBlock_Sample:CustomLabel></Custom_TextBlock_Sample:CustomLabel>
  </Grid>

Также работает обычная метка в Datatemplate:

<DataTemplate x:Key="Test">
  <Grid>
    <Label/>
  </Grid>
</DataTemplate>

Есть идеи по поводу этой проблемы? Могу ли я просто не добавлять переопределенные элементы управления в таблицы данных в такой усадьбе? Это ошибка в Visual Studio 2007?

Обратите внимание, что, поскольку мое намерение изменить элемент управления будет небольшим, я просто хочу переопределить «Метку» вместо того, чтобы обернуть его в UserControl.

Спасибо

1 Ответ

0 голосов
/ 06 февраля 2010

Хорошо, разобрался. Это похоже на ошибку пространства имен в Visual Studio. Проблема устранилась, когда я начал новый проект с нуля, на этот раз без пробелов в имени проекта и без "_" в именах пространств имен.

...