Мне действительно нужна помощь.Я динамически создаю элемент управления grid в своем коде, а затем добавляю его к дочерним элементам содержащего элемент управления, который был определен в xaml.Теперь все динамически создается, как и ожидалось, но, к сожалению, когда я устанавливаю стиль таким же образом, я устанавливаю текст текстовых полей, которые я добавляю в сетку, и размещаю их в строке / столбцах, соответственно, это не работает.Обратите внимание на следующий код:
AddTextBlock(7, col, String.Format("{0:0}%", finances.PrivateDaysPercent), "GridValueStyle");
TextBlock AddTextBlock( int row, int column, string text, string style)
{
Style s = Resources[style] as Style;
TextBlock tb = new TextBlock() { Text = text};
tb.Style = s;
Grid.SetColumn(tb, column);
Grid.SetRow(tb, row);
grid.Children.Add(tb);
return tb;
}
<Style x:Key="GridValueStyle" TargetType="TextBlock" BasedOn="{StaticResource ContentTextStyle}" >
<Setter Property="Margin" Value="2,1" />
<Setter Property="HorizontalAlignment" Value="Right"/>
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
Стиль должен быть явно заданным, но это не так.Стиль правильно определен в словаре ресурсов и добавлен в app.xaml.Я знаю, что это работает, потому что я использую этот стиль на другой странице навигации, и он идеально подходит для статически созданной сетки в xaml.