小编Abs*_*tor的帖子

触发器上的属性不能为空

<Style TargetType="controls:EventTimeView">      
    <Style.Triggers>         
        <Trigger Property="PositioningMethod" Value="Column" >
            <Setter Property="Background" Value="Black" />
        </Trigger>
    </Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)

PositioningMethod是枚举类型的EventTimeView的依赖项属性.

结果是:

System.InvalidOperationException occurred
Message=Property can not be null on Trigger.
Source=PresentationFramework
StackTrace:
   at System.Windows.StyleHelper.UpdateTables(PropertyValue& propertyValue, FrugalStructList`1& childRecordFromChildIndex, FrugalStructList`1& triggerSourceRecordFromChildIndex, FrugalStructList`1& resourceDependents, HybridDictionary& dataTriggerRecordFromBinding, HybridDictionary childIndexFromChildName, Boolean& hasInstanceValues)
InnerException: 
Run Code Online (Sandbox Code Playgroud)

我不知道可能出错了什么.例外太模糊了:哪个属性?什么是null?

wpf xaml dependency-properties

3
推荐指数
1
解决办法
2594
查看次数

具有共享大小组的网格列在折叠或不可见时不会“回收”大小

我有以下 xaml:

<Window x:Class="SharedSizeGroupBug.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Window.Resources>
    <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
</Window.Resources>

<StackPanel Grid.IsSharedSizeScope="True">
    <ToggleButton IsChecked="False" Name="TB" Content="Toggle" />

    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" SharedSizeGroup="DZG" />
            <ColumnDefinition Width="Auto" />
        </Grid.ColumnDefinitions>

        <TextBlock Text="A1" Width="100" />
        <TextBlock Text="A2" Grid.Column="1" />
    </Grid>

    <Grid Visibility="{Binding IsChecked, ElementName=TB, Converter={StaticResource BooleanToVisibilityConverter}}">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" SharedSizeGroup="DZG" />
            <ColumnDefinition Width="Auto" />
        </Grid.ColumnDefinitions>

        <TextBlock Text="B1" Width="200" />
        <TextBlock Text="B2" Grid.Column="1" />
    </Grid>
</StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

当您尝试此操作时,初始状态第一列的宽度为100。当按下按钮并且第二个网格可见时,第一列的宽度变为200。但是,当您再次按下该按钮时,该列的宽度仍为200

wpf xaml

3
推荐指数
1
解决办法
2482
查看次数

标签 统计

wpf ×2

xaml ×2

dependency-properties ×1