2017-06-05 13 views

答えて

2

カスタムViewCellを作成し、ネイティブデータテンプレートを使用して問題を解決しました。今すぐ高速スクロールで黒いセルはありません。誰かが役に立つと思うように私は自分の答えを投稿しています。例えばのために

:あなたは以下に表示される名前のリストがある場合:

  <ListView 
      ItemsSource="{Binding Products}"> 
      <ListView.ItemTemplate> 
       <DataTemplate> 
        <custom:CustomViewCell Name="{Binding Name}"/> 
       </DataTemplate> 
      </ListView.ItemTemplate> 
      </ListView> 
を:

まず、次のように

 public class CustomViewCell : ViewCell 
     { 
     public static readonly BindableProperty NameProperty = 
      BindableProperty.Create("Name", typeof(string), typeof(CustomViewCell), ""); 

     public string Name 
     { 
      get { return (string)GetValue(NameProperty); } 
      set { SetValue(NameProperty, value); } 
     } 

     } 

今すぐXAMLでListViewコントロールを追加し、次のようにカスタムviewcell追加

次に、次のように、UWPプロジェクトのApp.xamlにDateTemplateスタイルを記述する必要があります。

 <ResourceDictionary> 
     <DataTemplate x:Key="CustomTemplate"> 
      <Grid Padding="10"> 
       <TextBlock Foreground="#333333" FontSize="14" VerticalAlignment="Center" Text="{Binding Name"/> 
      </Grid> 
     </DataTemplate> 
     </ResourceDictionary> 

最後に、カスタムViewRendererを書き込んで、ネイティブのViewcellをListViewに置き換えます。

public class CustomViewCellRenderer : ViewCellRenderer 
    { 
    public override Windows.UI.Xaml.DataTemplate GetTemplate(Cell cell) 
    { 
     return App.Current.Resources["CustomTemplate"] as Windows.UI.Xaml.DataTemplate; 
    } 
    } 

現在、リストは黒セルのレンダリングの問題なしで完全に機能します。

0

これはコードには問題ありません。スクロール速度が速すぎると、スクロールしているときに素早くセルをレンダリングする時間がなくなり、黒いセルが表示されます。

+0

luccas-clezarはい、そうです。この問題は、UWPだけで起こっています。この問題を克服する者はいますか? – Renjith

+0

残念ながら私はそうは思わない。パフォーマンスを向上させるいくつかの方法(たとえば、バインディングを削除したり、PropertyChangedまたはBindingContextChangedでセルの変更を行うなど)を試みましたが、パフォーマンスの向上は見られませんでした。 –

+0

こんにちは、ViewCellをカスタマイズして問題を修正しました。私は問題を解決するために税務申告書を書いた。今すぐ高速スクロールで黒いセルはありません。私は以下の答えを追加しました。 – Renjith

関連する問題