簡體   English   中英

WP7 XAML-異常和不一致的行為

[英]WP7 XAML - unusual and inconsistent behaviour

背景

在我的XAML中,我有一個數據模板,用於定義列表框中項目的布局。 我在模型類中添加了一些我綁定的屬性,這些屬性專門用於管理演示文稿。 簡而言之,我按日期順序有一些事件,每次到達新的日期時,我都希望包含標題行。 因此,我有一些定義為“高度=自動”的行。

問題

當它成為新的一天的第一個對象時,我的屬性將返回數據-該行已填充,並且一切看起來都很好。 如果它不是當天的第一個對象,則屬性返回null,並且該行不出現。 效果很好。 大多。

但是當我說15個左右的對象並且向下滾動時,會出現“標題行”,但值(有時)為空。 我已經對數據進行了無數次檢查,而且還不錯。 然后,即使是怪異的,上下滾動的動作也可以使它正確,或者移動出現假標題的地方。 因此,我堅信它與我的數據無關。 我認為這可能與我滾動的速度有關,但事實並非如此。 我的XAML如下-那里有一條注釋,指出了標題行的定義位置。 (使用“ NewDateTimeDayString”和“ NewDateTimeHeaderFiller的綁定”

<StackPanel  Grid.Row="0" Grid.ColumnSpan="3">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <!--This stackpanel and the row beneath are causing issues - sometimes appearing when it should not based upon the data-->
        <!--size is auto and row is effectively dropped when there is no data-->
        <!--BUT sometimes when scrolling up and down they appear as empty -->
        <StackPanel Background="{StaticResource PhoneAccentBrush}">
            <TextBlock Grid.Row="0" Text="{Binding NewDateTimeDayString}" 
                    Style="{StaticResource PhoneTextNormalStyle}" Margin="{Binding MarginSize}" />
        </StackPanel>
        <TextBlock Text="{Binding NewDateTimeHeaderFiller}" Grid.Row="1"/>

    </Grid>
</StackPanel>

為什么會發生這種情況的任何想法,或替代方法。 好厲害 謝謝。

與一位同事討論過,他建議我使用綁定來更改Stackpanel的可見性。 建議此方法可能更合適,而不是依賴行的(自動)大小。 現在已經實現了,問題就解決了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM