Tôi có dữ liệu mẫu sau đây, mà làm việc ra độc đáo ...Tái sử dụng dữ liệu thiết kế trong Expression Blend?
<SampleData:DashboardViewModel xmlns:SampleData="clr-namespace:MyApp.ViewModels">
<SampleData:DashboardViewModel.Employees>
<SampleData:EmployeeViewModel FirstName="Aaron" "Adams" />
<SampleData:EmployeeViewModel FirstName="Billy" "Bob" />
<SampleData:EmployeeViewModel FirstName="Charlie" "Chaplin" />
</SampleData:DashboardViewModel.Employees>
</SampleData:DashboardViewModel>
Tuy nhiên, tôi thấy rằng nó sẽ hữu ích để có thể tái sử dụng mà danh sách các nhân viên mẫu thay vì gõ lại nó mỗi lần. Tôi không thể tìm ra cách sử dụng lại danh sách đó. Về cơ bản, tôi muốn có một tập tin SampleData (SampleEmployees.xaml) chứa rằng danh sách của người lao động, sau đó có thể làm việc này trong các mẫu khác của tôi ...
<SampleData:DashboardViewModel xmlns:SampleData="clr-namespace:MyApp.ViewModels">
<SampleData:DashboardViewModel.Employees ... /> <!-- What goes in there? -->
</SampleData:DashboardViewModel>
<SampleData:OtherViewModel xmlns:SampleData="clr-namespace:MyApp.ViewModels">
<SampleData:OtherViewModel.Employees ... /> <!-- What goes in there? -->
</SampleData:OtherViewModel>
Ngoài ra, làm thế nào để tạo danh sách riêng trong một tệp XAML khác ??
ViewModel:
public class DashboardViewModel : NotificationObject
{
public class DashboardViewModel(IDataService dataService)
{
InternalEmployees = new ObservableCollection<EmployeeViewModel>(dataService.GetEmployees());
Employees = new ReadOnlyObservableCollection<EmployeeViewModel>(InternalEmployees);
}
private ObservableCollection<EmployeeViewModel> InternalEmployees { get; set; }
public ReadOnlyObservableCollection<EmployeeViewModel> Employees { get; private set; }
}
Tôi không nghĩ rằng có thể với hệ thống mặc định. Tôi nghĩ rằng người ta sẽ phải tạo một [CustomTool] (http://www.google.com/search?q=visual+studio+custom+tool) để phân tích một tệp nguồn mà sau đó sẽ tạo ra một tệp dữ liệu thiết kế khác. Điều này sẽ ngăn chặn phải gõ lại, nhưng tệp được tạo kết quả sẽ vẫn chứa toàn bộ dữ liệu (không phải là "tham chiếu" đến dữ liệu khác). –
Vì vậy, về cơ bản tôi cần phải biến điều này thành một gợi ý trong Microsoft Connect? –
.lưu ý rằng VS2011 đang ở chế độ xem trước dev và Blend 5 ở giai đoạn tương tự, vì vậy nếu chúng không hỗ trợ, tôi không thấy trước việc triển khai tính năng này ... –