2010-03-28 10 views
10

मैं कई सूचीदृश्यों में एक ही शैली का उपयोग करना चाहता हूं। और मेरी शैली में मैंने ग्रिडव्यू कॉलम को भी परिभाषित किया है।कई सूचीदृश्यों में एक ही शैली का उपयोग

लेकिन जब मैं चलाने का प्रयास है, यह एक अपवाद फेंकता है:

देखें एक से अधिक ListView द्वारा साझा नहीं किया जा सकता।

मैं यह कैसे हल कर सकते हैं?


XAML:

<Style x:Key="articleList" TargetType="{x:Type ListView}"> 
<Setter Property="VirtualizingStackPanel.IsVirtualizing" Value="True"/> 
<Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="True"/> 
<Setter Property="ListView.ItemsSource" Value="{Binding}"/> 
<Setter Property="ListView.View"> 
    <Setter.Value> 
     <GridView> 
      <GridViewColumn Header="Subject" Width="300"> 
       <GridViewColumn.CellTemplate> 
        <DataTemplate> 
         <TextBlock Text="{Binding Subject}"/> 
        </DataTemplate> 
       </GridViewColumn.CellTemplate> 
      </GridViewColumn> 
      <GridViewColumn Header="Size" Width="75"> 
       <GridViewColumn.CellTemplate> 
        <DataTemplate> 
         <TextBlock Text="{Binding SizeFormatted}"/> 
        </DataTemplate> 
       </GridViewColumn.CellTemplate> 
      </GridViewColumn> 
      <GridViewColumn Header="Poster" Width="175"> 
       <GridViewColumn.CellTemplate> 
        <DataTemplate> 
         <TextBlock Text="{Binding Poster}"/> 
        </DataTemplate> 
       </GridViewColumn.CellTemplate> 
      </GridViewColumn> 
      <GridViewColumn Header="Age" Width="75"> 
       <GridViewColumn.CellTemplate> 
        <DataTemplate> 
         <TextBlock Text="{Binding AgeFormatted}"/> 
        </DataTemplate> 
       </GridViewColumn.CellTemplate> 
      </GridViewColumn> 
     </GridView> 
    </Setter.Value> 
</Setter> 

+0

आप अपने कोड के एक हिस्से को पोस्ट कर सकते हैं? –

+0

आप हमें अपनी शैली दिखा सकते हैं, कृपया? –

+0

मैं सवाल – ErikTJ

उत्तर

21

अपने GridView संसाधन को x:Shared property जोड़ें। इस उदाहरण में ग्रिड व्यू संसाधन देखें।

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     x:Class="Window1" 
     x:Name="Window" 
     Title="Window1" 
     Width="640" Height="480"> 
    <Window.Resources> 
    <GridView x:Key="ViewBase1" x:Shared="False"> 
     <GridViewColumn Header="Blah1" Width="70"/> 
     <GridViewColumn Header="Blah2" Width="70"/> 
     <GridViewColumn Header="Blah3" Width="70"/> 
    </GridView> 
    </Window.Resources> 

    <Grid x:Name="LayoutRoot"> 
    <ListView Margin="0,0,0,120" View="{DynamicResource ViewBase1}" /> 
    <ListView Margin="272,0,91,120" View="{DynamicResource ViewBase1}" /> 
    </Grid> 
</Window> 
+4

+1 ने मुझे सहेजा कोड का एक बहुत टाइपिंग अद्यतन किया है! – JLWarlow

संबंधित मुद्दे