У меня есть сценарий, где мне нужно создать шаблон и использовать его во многих местах.Windows Phone 8.1 - Создание шаблона и его использование во многих местах?
, например:
<Grid VerticalAlignment="Top" Background="White">
<TextBlock Foreground="Black" FontSize="24" FontWeight="SemiBold" Margin="12 12 12 6"/>
<Border Background="DarkGray" HorizontalAlignment="Left" Height="2" Width="170" Margin="12 0 0 12"/>
<Border Background="DarkGray" HorizontalAlignment="Right" Height="2" Width="170" Margin="12 0 0 12"/>
Я попробовал некоторые вещи, как это:
<ContentPresenter x:Key="specificationTemplate1">
<Grid VerticalAlignment="Top" Background="White">
<TextBlock Foreground="Black" FontSize="24" FontWeight="SemiBold" Margin="12 12 12 6"/>
<Border Background="DarkGray" HorizontalAlignment="Left" Height="2" Width="170" Margin="12 0 0 12"/>
<Border Background="DarkGray" HorizontalAlignment="Right" Height="2" Width="170" Margin="12 0 0 12"/>
</Grid>
</ContentPresenter>
Grid grdSpecificationTemplate = (App.Current.Resources["specificationTemplate1"] as ContentPresenter).Content as Grid;
MainGird.Children.Add(grdSpecificationTemplate);
Проблема я столкнулся это, первый раз, когда он работает отлично, и когда я вернусь и снова throwing exception "Элемент уже является дочерним элементом другого элемента".
Пожалуйста, предложите мне правильный путь или есть другой способ.
PS: Я хочу создать несколько сотен шаблонов, так что я не могу пойти с User Control.
Заранее спасибо.
При переходе в другой раз вы проверяете 'если (MainGird.Children.Contains (grdSpecificationTemplate)) '? Это может решить проблему. Если он уже добавлен, вам больше не нужно добавлять ir. – Meneses