2015-04-08 2 views
1

У меня есть два почти идентичных конструктора GUI в XAML, разница в одном StackPanel, который имеет изображение и прямоугольник в соответствующей структуре, StackPanel содержит и другой контент. Я хочу только написать структуру отверстий один раз и иметь динамический ресурс, где помещается изображение или прямоугольник. Код будет основно быть как:Как разместить содержимое динамически в элементе управления

<Style x:Key="myGrid" TargetType="{x:Type Grid}"> 
    <!-- Many nested controls --> 
     <StackPanel> 
      <!-- Some differnt Controls --> 
      <Object Value="{DynamicResource someDynamicItem}" /> 
     <StackPanel/> 
</Style> 
<Style x:Key="myGridWithImage" BasedOn="{StaticResource myGrid}" TargetType="{x:Type Grid}"> 
    <Style.Resources> 
     <Image x:Key="someDynamicItem" /> 
    </Style.Resources> 
</Style> 
<Style x:Key="myGridWithRectangle" BasedOn="{StaticResource myGrid}" TargetType="{x:Type Grid}"> 
    <Style.Resources> 
     <Rectangle x:Key="someDynamicItem" /> 
    </Style.Resources> 
</Style> 

Является ли это возможно, чтобы иметь какую-заполнитель (вместо Object-Tag), которые могут быть динамически назначаемый таким образом?

ответ

0

Вы можете поместить элемент управления контентом в свою сетку, а затем можете установить его контент на основе какого-либо условия, если это условие не выполняется, вы можете либо не выбрать контент, либо сделать его видимость рушившейся.

Я рекомендую контролировать содержимое панели стека в вашем случае, так что в будущем, если у вас есть требование поместить что-то еще, вам просто нужно предоставить новый контент для управления контентом.

Смежные вопросы