0

내 창 전화 7.1 응용 프로그램 (Silverlight 응용 프로그램, C# 언어 VS 2010 Express for Windows Phone 사용) 표 형식으로 내 데이터 (검색 결과)를 표시하기 위해 gridview를 만들었습니다. 나는 클래스를 만들고 그 클래스에 대한 gridview를 succussfully 바인딩했다. 이것은 내 xaml 코드입니다.Windows Phone 7.1 응용 프로그램에서 gridview에 행을 동적으로 추가하는 방법은 무엇입니까?

<phone:PhoneApplicationPage.Resources> 
     <local:searchResultItemModel x:Key="searchResultIM"/> 
    </phone:PhoneApplicationPage.Resources> 


    <gridView:GridView x:Name="GridView1" CellSpacing="1" RowSpacing="1" SelectedItemChanged="GridViewSelectedItemChanged" Margin="26,16,25,22" ItemsSource="{Binding Source={StaticResource searchResultIM}, Path=Data}"> 

하지만 동적으로 행을 추가하려고합니다. 정적이기 때문에 그것에 행을 추가 할 수 없습니다. 은 동적으로 행을 추가하는 다른 방법입니다. 아무도 나 좀 도와 줄래?

답변

0

ListBox 컨트롤을 사용하고 원하는대로 템플릿을 만들어야합니다. ListBox에는 더 큰 데이터 세트를 도울 UIVitualization과 같은 기능이 포함되어 있습니다.

+0

cud u eloborate? –

0

데이터 시트와 함께 ListBox를 사용하여 각 행의 모양을 제어 할 수 있습니다. 예 :

<ListBox ItemsSource="{Binding Source={StaticResource searchResultIM}, Path=Data}" ItemTemplate="{StaticResource SearchItemTemplate}" /> 

위의 ListBox 요소를 Phone 페이지의 LayoutRoot (일반적으로 Grid 컨트롤)에 넣습니다. 목록 상자에서 당신은 당신이 당신의 리소스 섹션 예에서 정의 (DataTemplate을 정의)를 사용하는 ItemTemplate을 참조합니다 : 템플릿의

<DataTemplate x:Name="SearchItemTemplate"> 
<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto" /> 
     <ColumnDefinition /> 
    </Grid.ColumnDefinitions> 
    <TextBlock Text="{Binding YourDataProperty1}" /> 
    <TextBlock Text="{Binding YourDataProperty2}" Grid.Column="1" /> 
</Grid> 
</DataTemplate> 

DataContext를 사용하면 결과를 얻을 개체의 유형이 될 것입니다. 그래서 YourDataProperty1 등은 해당 resultobject에 대한 속성이 될 수 있습니다.

희망이 있습니다. 내용이 beyind 창 전화를가는 경우 Windows Phone 용 Silverlight에 대한 DataGrid 컨트롤을 구축 /앤더스

+0

하지만 여기서도 같은 정적 소스 인 searchResultIM을 참조하면 어떻게 동적으로 행을 추가 할 수 있습니까? –

+1

검색 결과 항목을 viewmodel의 ObservableCollection에 놓고 staticresource 대신에 바인딩합니다. 예 : ItemsSource = "{Binding SearchResults}", 여기서 SearchResults는 ObservableCollection입니다. INotifyPropertyChanged를 구현하므로 항목을 목록에 추가하고 상자에 표시하면 목록 상자에 알림이 표시됩니다. –

+0

고마워, 그게 정말 도움이 –

관련 문제