为什么我的Application.Resources样式应用于设计器中,而不是在运行时?

时间:2013-11-15 21:48:27

标签: c# wpf visual-studio-2012

我的问题与Why doesn't style-setting of the window background work?几乎相同。该问题的答案是“您的样式定位Window,但这不会应用于MainWindow”。

就我而言,我有以下针对RowDefinition的样式。在我的xaml的其他地方,我有一个带有一些行和列定义的标准网格。 Application.Resources中的目标与我的xaml RowDefinition元素完全匹配,但样式似乎只适用于设计器,而不是在运行时。

我正在使用Update 4运行Visual Studio 2012,目标是.NET Framework 4.5。

的App.xaml:

<Application x:Class="MyProj.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Application.Resources>
        <Style TargetType="RowDefinition">
            <Setter Property="Height" Value="35" />
        </Style>
    </Application.Resources>
</Application>

DriverEdit.xaml:

<Window x:Class="MyProj.Windows.DriverEdit"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:p="clr-namespace:MyProj.Properties"
        xmlns:Controls="clr-namespace:MyProj.Controls"
        WindowStartupLocation="CenterOwner"
        Title="{Binding Path=SelectedItem.UniqueName, TargetNullValue='New'}" Height="300" Width="300">
    <DockPanel>
        <StackPanel DockPanel.Dock="Right">
            <Controls:CommonEditButtons />
        </StackPanel>

        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition />
                <RowDefinition />
            </Grid.RowDefinitions>

            <TextBlock Grid.Column="0" Grid.Row="0" Text="{x:Static p:Resources.CommonEditID}" />
            <TextBlock Grid.Column="0" Grid.Row="1" Text="{x:Static p:Resources.CommonEditName}" />

            <TextBox Grid.Column="1" Grid.Row="0" Text="{Binding Path=SelectedItem.Id}" />
            <TextBox Grid.Column="1" Grid.Row="1" Text="{Binding Path=SelectedItem.Name}" />
        </Grid>
    </DockPanel>
</Window>

编辑提供更多XAML。

0 个答案:

没有答案