Эффект я верю Вам, ищет, достигается путем обеспечения HeaderTemplate для TabItem в Вас набор Вкладки.
<TabControl TabStripPlacement="Right">
<TabControl.Resources>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Padding" Value="4" />
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<ContentPresenter Content="{TemplateBinding Content}">
<ContentPresenter.LayoutTransform>
<RotateTransform Angle="90" />
</ContentPresenter.LayoutTransform>
</ContentPresenter>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
<TabItem Header="Tab Item 1" />
<TabItem Header="Tab Item 2" />
<TabItem Header="Tab Item 3" />
<TabItem Header="Tab Item 4" />
</TabControl>
Hope это помогает!
Из Django Docs :
Например, если вы создавали базу "мест", которую вы бы построили довольно стандартные вещи, такие как адрес, номер телефона и др. в базе. Затем, если вы хотите построить база данных ресторанов поверх места, вместо того, чтобы повторяться и репликации этих полей в Модель ресторана, вы могли бы сделать В ресторане есть OneToOneField для Место (потому что ресторан "это" место; на самом деле, чтобы справиться с этим, вы бы обычно используют наследование, которое предполагает неявный индивидуальный подход
Обычно у вас просто Ресторан
, унаследованный от Место
. К сожалению, вам нужно то, что я считаю уловкой: создание однозначной ссылки от подкласса к суперклассу ( Ресторан
на Место
)
Я вижу здесь проблему:
class D(A):
#D has foreign key to either B or C, but not both.
Не могу этого сделать. Вам придется добавить и то, и другое, потому что в SQL столбцы должны быть определены точно.
Также, хотя унаследованные модели, такие как вы, компилируются с syncdb
, они, похоже, не ведут себя так, как вы ожидаете - на по крайней мере, я не мог заставить их работать. Я не могу объяснить почему.
Вот как FK работает в Django
class A(models.Model):
a = models.CharField(max_length=5)
class B(models.Model):
a = model.ForeignKey(A, related_name='A')
b = models.CharField(max_length=5)
class D(models.Model):
a = model.ForeignKey(A, related_name='A')
parent = model.ForeignKey(B, related_name='D')
. Таким образом, вы можете эффективно иметь кратные D в B.
Наследование в моделях (например, класс B (A)) не работает как я и ожидал. Может быть, кто-нибудь другой объяснит это лучше.
Взгляните на страницу этого документа . Речь идет об отношениях «многие к одному» в django.
b = B()
b.D_set.create(...)
Вы также можете создать общую связь http://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/#id1 и проверить типы для при установке или сохранении ограничьте его значениями B или C. Это, вероятно, больше работы, чем выяснение прямой ссылки, но может показаться чище.