0
我有一個綁定到項目源的數據網格。在數據網格中,我有一個組合框,其項目源位於視圖模型中。我已經爲來自數據網格的項目源的組合框設置了選定的項目,但它沒有被選中。組合框有項目,但沒有爲每一行選擇相應的項目。選擇的項目不是用於Datagrid內的組合框
<navigation:Page.Resources>
<VM:TransferStockroomGLViewModel x:Key="TransferStockroomGLViewModel" />
</navigation:Page.Resources>
<data:DataGrid x:Name="dgTransferStockroomGLDetails" AutoGenerateColumns="False" ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}"
VerticalScrollBarVisibility="Visible" ItemsSource="{Binding StockroomTransferDetails}"
CanUserResizeColumns="False" VerticalAlignment="Top" RowBackground="White" AlternatingRowBackground="White" GridLinesVisibility="All" Height="400">
<data:DataGrid.Columns>
<data:DataGridTemplateColumn Header="From Stockroom" Width="200" CanUserReorder="True" CanUserSort="True" IsReadOnly="False">
<data:DataGridTemplateColumn.HeaderStyle>
<Style TargetType="prim:DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="FontWeight" Value="Bold"/>
</Style>
</data:DataGridTemplateColumn.HeaderStyle>
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<!--<TextBox Text="{Binding From_Stkrm_Id}" Width="200" Height="30" />-->
<ComboBox Width="200" Height="30" ItemsSource="{Binding Source={StaticResource TransferStockroomGLViewModel},Path=WiingsStkrmList}"
SelectedValuePath="From_Stkrm_Name" DisplayMemberPath="Name" />
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
</data:DataGrid.Columns>
</data:DataGrid>
視圖模型:
private ObservableCollection<BuyerWebService.Stockroom> wiingsStkrmList;
public ObservableCollection<BuyerWebService.Stockroom> WiingsStkrmList
{
get
{
return wiingsStkrmList;
}
set
{
wiingsStkrmList = value;
SendChangedNotification("WiingsStkrmList");
}
}
private ObservableCollection<BuyerWebService.StockroomTransfer> stockroomTransferdetails;
public ObservableCollection<BuyerWebService.StockroomTransfer> StockroomTransferDetails
{
get
{
return stockroomTransferdetails;
}
set
{
stockroomTransferdetails = value;
SendChangedNotification("StockroomTransferDetails");
}
}
public TransferStockroomGLViewModel()
{
app = (App)Application.Current;
GetWiingsStockroomList();
GetStockroomTransferGLDetails();
}
public void GetStockroomTransferGLDetails()
{
try
{
bsc.GetStockroomTransferGLDetailsCompleted += new EventHandler<BuyerWebService.GetStockroomTransferGLDetailsCompletedEventArgs>(bsc_GetStockroomTransferGLDetailsCompleted);
bsc.GetStockroomTransferGLDetailsAsync(app.LogonSiteID);
}
catch (Exception ex)
{
LogException.CatchException(ex);
}
}
void bsc_GetStockroomTransferGLDetailsCompleted(object sender, BuyerWebService.GetStockroomTransferGLDetailsCompletedEventArgs e)
{
try
{
if (e.Result != null)
{
StockroomTransferDetails = e.Result;
}
}
catch (Exception ex)
{
LogException.CatchException(ex);
}
finally
{
bsc.GetStockroomTransferGLDetailsCompleted -= new EventHandler<BuyerWebService.GetStockroomTransferGLDetailsCompletedEventArgs>(bsc_GetStockroomTransferGLDetailsCompleted);
}
}
public void GetWiingsStockroomList()
{
try
{
bsc.GetWiingsStockroomListCompleted += new EventHandler<BuyerWebService.GetWiingsStockroomListCompletedEventArgs>(bsc_GetWiingsStockroomListCompleted);
bsc.GetWiingsStockroomListAsync(app.LogonSiteID);
}
catch (Exception ex)
{
LogException.CatchException(ex);
}
}
void bsc_GetWiingsStockroomListCompleted(object sender, BuyerWebService.GetWiingsStockroomListCompletedEventArgs e)
{
try
{
if (e.Result != null)
{
WiingsStkrmList = e.Result;
}
}
catch (Exception ex)
{
LogException.CatchException(ex);
}
finally
{
bsc.GetWiingsStockroomListCompleted -= new EventHandler<BuyerWebService.GetWiingsStockroomListCompletedEventArgs>(bsc_GetWiingsStockroomListCompleted);
}
}
我希望每個記錄的組合框應該有選擇的項目,但它不來了。
我到底做錯了什麼?
這工作完美.... :) –