Caliburn Micro - TextBox 中的文本不会显示
Caliburn Micro - Text in TextBox wont display
我正在学习旧的 Caliburn Micro 教程 (here). I am up to part 2 (here)。我已设法更新 App.xaml 和 AppBootstrapper.cs 以与 3.0.3 和 WPF 兼容(如此处 'Documentation' 页面上的 'WPF' 部分所述)。我正在使用 VS 2013。
本教程显示初始化后出现值“50”的应用程序。我的应用只显示了这个:
目前的代码如下:
App.xaml
<Application
xmlns:local="clr-namespace:CaliburnMicroApp"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class=" CaliburnMicroApp.App">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<local:AppBootstrapper x:Key="bootstrapper" />
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
AppViewModel.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Caliburn.Micro;
namespace CaliburnMicroApp.ViewModels
{
class AppViewModel : PropertyChangedBase
{
private int _count = 50;
private int Count
{
get { return _count; }
set
{
_count = value;
NotifyOfPropertyChange(() => Count);
NotifyOfPropertyChange(() => CanIncrementCount);
}
}
public void IncrementCount()
{
Count++;
}
public bool CanIncrementCount
{
get { return Count < 100; }
}
}
}
AppView.xaml
<UserControl x:Class="CaliburnMicroApp.Views.AppView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
<Grid Width="300" Height="300" Background="LightBlue">
<RepeatButton Name="IncrementCount" Content="Up" Margin="15" VerticalAlignment="Top" />
<TextBlock Name="Count" Margin="20" FontSize="150" VerticalAlignment="Center" HorizontalAlignment="Center" />
</Grid>
</UserControl>
AppBootstrapper.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Caliburn.Micro;
using CaliburnMicroApp.ViewModels;
using System.Windows;
namespace CaliburnMicroApp
{
public class AppBootstrapper : Caliburn.Micro.BootstrapperBase
{
public AppBootstrapper()
{
Initialize();
}
protected override void OnStartup(object sender, StartupEventArgs e)
{
DisplayRootViewFor<AppViewModel>();
}
}
}
将 AppViewModel 中的计数 属性 更改为 public。
我正在学习旧的 Caliburn Micro 教程 (here). I am up to part 2 (here)。我已设法更新 App.xaml 和 AppBootstrapper.cs 以与 3.0.3 和 WPF 兼容(如此处 'Documentation' 页面上的 'WPF' 部分所述)。我正在使用 VS 2013。
本教程显示初始化后出现值“50”的应用程序。我的应用只显示了这个:
目前的代码如下:
App.xaml
<Application
xmlns:local="clr-namespace:CaliburnMicroApp"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class=" CaliburnMicroApp.App">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<local:AppBootstrapper x:Key="bootstrapper" />
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
AppViewModel.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Caliburn.Micro;
namespace CaliburnMicroApp.ViewModels
{
class AppViewModel : PropertyChangedBase
{
private int _count = 50;
private int Count
{
get { return _count; }
set
{
_count = value;
NotifyOfPropertyChange(() => Count);
NotifyOfPropertyChange(() => CanIncrementCount);
}
}
public void IncrementCount()
{
Count++;
}
public bool CanIncrementCount
{
get { return Count < 100; }
}
}
}
AppView.xaml
<UserControl x:Class="CaliburnMicroApp.Views.AppView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
<Grid Width="300" Height="300" Background="LightBlue">
<RepeatButton Name="IncrementCount" Content="Up" Margin="15" VerticalAlignment="Top" />
<TextBlock Name="Count" Margin="20" FontSize="150" VerticalAlignment="Center" HorizontalAlignment="Center" />
</Grid>
</UserControl>
AppBootstrapper.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Caliburn.Micro;
using CaliburnMicroApp.ViewModels;
using System.Windows;
namespace CaliburnMicroApp
{
public class AppBootstrapper : Caliburn.Micro.BootstrapperBase
{
public AppBootstrapper()
{
Initialize();
}
protected override void OnStartup(object sender, StartupEventArgs e)
{
DisplayRootViewFor<AppViewModel>();
}
}
}
将 AppViewModel 中的计数 属性 更改为 public。