在使用MS Expression Blend時,您可以從XML文件導入樣本數據以用於在設計模式下測試您的XAML和綁定。我的數據模型使用實體框架在XML中完全定義。是否有任何合理的方式直接或間接地將該模型用作Blend樣本數據的來源?看起來這是一個相當明顯的用例,但我還沒有找到如何做到這一點的任何示例。我唯一的選擇是編寫一個將我的EF類的實例序列化爲XML的實用程序嗎?我不認爲我可以使用鏈接到實時數據源,因爲我使用的是Silverlight w/WCF,而我的數據模型是自動生成的代理類。如果有一種方法可以使Blend up到WCF服務,我還沒有找到它 - 雖然我很樂意得到一些指針。)爲Entity Framework數據模型的Blend生成示例XML數據?
0
A
回答
0
我仍然沒有一個很好的答案。我試着用DataContractSerializer的序列化我的EF類的一些實例XML:
DataContractSerializer serializer = new DataContractSerializer(typeof(Room));
using (SlideLincEntities ctx = new SlideLincEntities())
{
Room roomWithMostSessions = ctx.Room
.OrderByDescending(r => r.Sessions.Count)
.FirstOrDefault();
string fileName = ConfigurationSettings.AppSettings["outputFile"];
Console.WriteLine("Writing data to file '{0}'", fileName);
File.Delete(fileName);
using (Stream fileStream = File.Open(fileName, FileMode.OpenOrCreate))
{
serializer.WriteObject(fileStream, roomWithMostSessions);
}
}
不幸的是,混合無法讀取生成的XML:DataContractSerializer的使用XML參考符號,這顯然混淆了混合的簡單的XML解串器。
我也嘗試使用XAML的對象表示法產生由手(uggh)樣本數據:
<rs:Room d:IsDataSource="True"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:rs="clr-namespace:SlideLinc.Client.Common.RoomService;assembly=SlideLinc.Client.Common"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
mc:Ignorable="d"
Name="_default" OwnerId="smithkl42"
>
<rs:Room.Owner>
<rs:RegisteredUser x:Name="ken" UserId="ken" Email="[email protected]" FirstName="Ken" LastName="Smith" MaxFileUploadSize="20000" UserName="Ken Smith" />
</rs:Room.Owner>
</rs:Room>
這是更好的,但由於某些原因,混合不會結合到對象內的任何集合:我不不知道爲什麼,因爲當然XAML數據綁定錯誤會被無聲地吞噬。 (我有沒有提到我是多麼討厭XAML綁定?)
我最終與內XAML格式正確定義直少量的數據去:
<ListBox x:Name="fileListBox" Grid.Row="2" Margin="4" BorderThickness="0" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25" />
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="70" />
<ColumnDefinition Width="5" />
<ColumnDefinition Width="30" />
</Grid.ColumnDefinitions>
<Image Source="/Images/Word.png" Grid.Column="0" Margin="2" />
<TextBlock Text="{Binding OriginalFileName}" Grid.Column="1" VerticalAlignment="Center" />
<HyperlinkButton Content="Share" Grid.Column="2" Margin="4" HorizontalAlignment="Right" VerticalAlignment="Center"/>
<HyperlinkButton Grid.Column="4" Margin="4" HorizontalAlignment="Right" VerticalAlignment="Center" >
<Image Source="/Images/trashcan.png" Width="25" />
</HyperlinkButton>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
<!-- I shouldn't have to do this, but for some reason, I can't get sample data any other way -->
<roomservice:SharedFile OriginalFileName="Some Document.docx" />
<roomservice:SharedFile OriginalFileName="Another document.pptx"/>
</ListBox>
這就是我目前的做法。不是很優雅。打開其他想法。
相關問題
- 1. 在Expression Blend中生成示例數據
- 2. WP7 Expression Blend生成過時的示例數據
- 3. Expression Blend示例數據和數據模板
- 4. 如何從Entity Framework中的.edmx文件生成數據庫?
- 5. Expression Blend 3D模型示例
- 6. 可以使用Entity Framework來生成SQL Server Compact數據庫
- 7. 通過Entity Framework將複雜模型保存到數據庫5
- 8. ADO.NET Entity Framework 6數據庫優先 - 模型定製
- 9. 使用MySQL作爲數據庫從模型生成數據庫
- 10. 在Entity Framework中使用Entity Framework作爲Sharepoint 2010中Web部件的數據源
- 11. wordpress xml生成的數據
- 12. 如何爲數據集中爲空的數據表生成XML?
- 13. 從模型類生成數據庫
- 14. 從C#類生成數據庫/實體數據模型
- 15. 使用數據庫示例數據生成負載的工具
- 16. 從概念數據模型生成UML
- 17. Entitiy Framework:「從模型更新數據庫」而不是「從模型生成數據庫」
- 18. 數據綁定使用SQLite和Entity Framework
- 19. CF Entity Framework過濾相關數據
- 20. 示例XML數據庫?
- 21. 從swagger模型定義生成數據?
- 22. 在Blend中爲現有UI創建示例數據?
- 23. 爲父子表生成XML數據
- 24. DOCTRINE:從Mysql數據庫生成模型
- 25. 數據庫(邏輯數據模型)的繼承示例
- 26. 根據給定的xsd模式從csv數據生成xml
- 27. Symfony從模型生成數據庫
- 28. 生成貓鼬模型試驗數據
- 29. Django從數據庫生成模型
- 30. asp .net mvc 4 Entity Framework數據庫優先模型屬性類型