Установка стиля по умолчанию на TextBlock заставляет стиль в Маркировке и других средствах управления быть установленным также. Это только происходит при помещении стилей в Ресурсы приложений когда я помещаю стиль в ресурсы Окна, все прекрасно.
Я также нашел, что Разработчик VS 2008 и XamlPadX отображают Маркировку, как Вы ожидали бы, но проблема только происходит при выполнении приложения в реальной жизни.
<Application x:Class="WpfApplication.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Window1.xaml">
<Application.Resources>
<ResourceDictionary>
<Style TargetType="TextBlock">
<Setter Property="FontSize" Value="8"/>
</Style>
<Style x:Key="Title" TargetType="Label">
<Setter Property="FontSize" Value="32"/>
</Style>
</ResourceDictionary>
</Application.Resources>
</Application>
<Window x:Class="WpfApplication.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300"
Title="Window1"
Width="300">
<StackPanel>
<TextBlock Text="TextBlock No Style" Style="{x:Null}"/>
<Label Content="Label No Style" Style="{x:Null}"/>
<TextBlock Text="Default TextBlock"/>
<Label Content="Default Label" Style="{StaticResource Title}"/>
</StackPanel>
</Window>
Код выше дисплеев:
TextBlock No Style - Default font size (As you would expect)
Label No Style - Size 5 font size (How did this happen?)
Default TextBlock - Size 5 font size (As expected by my style)
Default Label - Size 5 font size (How did this happen?)
Вариант 3 (PUT для какого-то отдельного подресурса) - это ваша лучшая ставка прямо сейчас, и не обязательно «неправильно» просто использовать POST для самого основного ресурса - хотя вы можете не согласиться с этим в зависимости от того, насколько педантичным вы хотите быть в этом отношении.
Придерживайтесь 3 и используйте более детализированные субресурсы, и если у вас действительно есть потребность в PATCH-подобном поведении - используйте POST. Лично я все еще буду использовать этот подход, даже если PATCH действительно окажется жизнеспособным вариантом.
-121--2348239-Для создания собственных версий сборок .NET можно использовать NGEN . Это означает, что JIT не должен выполнять это во время выполнения.
.NET сначала компилируется в IL, а затем в собственный, поскольку JIT был разработан для оптимизации кода IL для текущего ЦП, под которым выполняется код.
Код .NET компилируется в IL для совместимости. Так как вы можете создать код с помощью C #, VB.NET и т.д., то JIT необходим общий набор команд (IL) для компиляции в собственный код. Если JIT должен быть осведомлен о языках, то JIT необходимо будет обновить при выпуске нового языка .NET.
Я не уверен в вопросе о песочнице, я думаю, что приложение .NET работает с 3 доменами приложений. Один домен содержит среды выполнения .NET (mscorlib, system.dll и т.д.), другой домен содержит ваш код .NET, и я не могу вспомнить, для чего предназначен другой домен. Проверьте http://my.safaribooksonline.com/9780321584090
-121--3866237-Да, это следует ожидать; посмотрите на шаблон по умолчанию для Label, это всего лишь элемент TextBlock с отступом. Стили наследуются , поэтому для параметра Label будет установлено значение 32, но затем стиль TextBlock переопределит это значение. Если бы ты только что это было, это было бы также 5pt.
Edit: Таким образом, я бы решил это, чтобы создать фиктивный подкласс (т.е. класс, который ничего не меняет) TextBlock называется NormalText, затем стиль, который; таким образом, вы не случайно возьмете другие TextBlocks.