.net - क्या यह ग्रिड पंक्ति डिफिनेशन पर ट्रिगर का उपयोग करना संभव है?




wpf xaml (2)

मुझे लगता है कि अपने Xaml कोड में एकमात्र समस्या यह है कि आप डेटाविटिव पर RowDefinition पर ऊँचाई की व्याख्या करके डेटाट्रिगर को ओवरराइट कर रहे हैं। बजाय एक सेटर का उपयोग करने की कोशिश करो

<RowDefinition>
    <RowDefinition.Style>
        <Style>
            <Setter Property="RowDefinition.Height" Value="2*"/>
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=ShowSection}" Value="True">
                    <Setter Property="RowDefinition.Height" Value="2*"/>
                </DataTrigger>
                <DataTrigger Binding="{Binding Path=ShowSection}" Value="False">
                    <Setter Property="RowDefinition.Height" Value="0"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </RowDefinition.Style>
</RowDefinition>

मेरे पास एक ग्रिड है जिसकी पंक्तियों को देखने के मॉडल के आधार पर गतिशील रूप से बदल दिया जाना चाहिए। मैं निम्नलिखित की तरह कुछ करना चाहता हूं:

<RowDefinition Height="2*">
    <RowDefinition.Style>
        <Style>
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=ShowSection}" Value="True">
                    <Setter Property="RowDefinition.Height" Value="2*"/>
                </DataTrigger>
                <DataTrigger Binding="{Binding Path=ShowSection}" Value="False">
                    <Setter Property="RowDefinition.Height" Value="0"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </RowDefinition.Style>
</RowDefinition>

यह संकलित करता है, कोई त्रुटि नहीं फेंकता है, लेकिन इसमें कोई प्रभाव नहीं लगता है क्या ऐसा कुछ है जो मुझे याद आ रहा है, या क्या ग्रिड फॉर्म को तैयार करने के बाद इसकी पंक्तियों को आकार देने की अनुमति नहीं देता है या उस प्रभाव के लिए कुछ है?


मुझे पता है कि यह पोस्ट 3 साल का है, लेकिन फिर भी यह किसी की मदद कर सकता है

<RowDefinition>
    <RowDefinition.Style>
        <Style TargetType="RowDefinition">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=ShowSection}" Value="True">
                    <Setter Property="Height" Value="2*"/>
                </DataTrigger>
                <DataTrigger Binding="{Binding Path=ShowSection}" Value="False">
                    <Setter Property="Height" Value="0"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </RowDefinition.Style>
</RowDefinition>

मैं एक ही स्थिति में था, मैं इसे TargetType को RowDefinition के लिए सेट करके काम करने में कामयाब रहा।







datatrigger