CM 용 자습서부터 마지막 예제 인 here까지 시작합니다. 저는 CM으로 할 수있는 것에 대해 더 잘 느끼고 싶었습니다. 그래서 wpf 프로젝트에서 일반적으로 할 일을 한 번 해봤고, View 폴더와 ViewModels 폴더를 만들었습니다. 협약은 여전히 모든 것을 찾아야합니다.caliburn 마이크로 자습서 문제
기타 모든 예제는이 방법으로 훌륭하게 작동하지만 CM과 실버 라이트 디버깅 방법에 대해 모르는 사이에 나는 데이터 컨텍스트 문제로 보이는 것을 설명하기가 어려웠습니다. .
누군가가 문제를 발견 할 수 있습니까?
건배,
Berryl
VM
[Export(typeof(IShell))]
public class ShellWithCompositionViewModel : PropertyChangedBase
{
public BindableCollection<Model> Items { get; private set; }
public ShellWithCompositionViewModel() {
Items = new BindableCollection<Model>
{
new Model {Id = Guid.NewGuid()},
new Model {Id = Guid.NewGuid()},
new Model {Id = Guid.NewGuid()},
new Model {Id = Guid.NewGuid()}
};
}
public void Add() { Items.Add(new Model {Id = Guid.NewGuid()}); }
public void Remove(Model child) { Items.Remove(child); }
}
VIEW
<UserControl x:Class="Caliburn.Micro.Hello.Views.ShellWithCompositionView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:cal="http://www.caliburnproject.org"
>
<StackPanel>
<ItemsControl x:Name="Items">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Button Content="Remove" cal:Message.Attach="Remove($dataContext)" />
<TextBlock Text="{Binding Id}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Button Content="Add" cal:Message.Attach="Add" />
</StackPanel>
BOOT
,수정은
// left off the model the 1st time (caps not needed!)
public class HelloBootstrapper : Bootstrapper<ShellWithCompositionViewMODEL> { }
Duh ... 이것은 실제로 쉬운 CM 문제는 아닙니다. Bootstrapper에 단서가 있습니다. 빠른 답을 원한다면. – Berryl