我正在使用caliburn micro,但无法在SelectedItemChanged中操作



My pivotPageViewModel

public class PivotPageViewModel : Conductor<IScreen>.Collection.OneActive
{
    private readonly PivotItem1PageViewModel item1;
    private readonly PivotItem2PageViewModel item2;
    public PivotPageViewModel(PivotItem1PageViewModel item1, PivotItem2PageViewModel item2)
    {
        this.item1 = item1;
        this.item2 = item2;           
    }
    protected override void OnInitialize()
    {
        base.OnInitialize();
        Items.Add(item1);
        Items.Add(item2);
        ActivateItem(item1);
    }
}

PivotItem1

public class PivotItem1PageViewModel : Screen
{
    public String DisplayName { get; set; }
    public List<String> Item{ get; set; } 
    public PivotItem1PageViewModel (INavigationService navigationService)
        : base(navigationService)
    {
        DisplayName = "Name";
        Item= new List<String>();
        Item.Add("one");
        Item.Add("two");
        Item.Add("three");
        Item.Add("four");
    }
    public void SelectedItemChanged(String select)
    {
        Debug.WriteLine("HElllo!!! " + select);        
    }      
}

XAML

<ListBox x:Name="Secretariat" Foreground="Black"
         FontFamily="{StaticResource PhoneFontFamilyLight}"  
         FontSize="50" Margin="10,0,-14,0" 
         cal:Message.Attach="[Event SelectionChanged] = [Action SelectedItemChanged($this)]">
     <ListBox.ItemTemplate>
         <DataTemplate>
             <StackPanel>
                 <TextBlock Text="{Binding}" />
             </StackPanel>
         </DataTemplate>
     </ListBox.ItemTemplate>
 </ListBox>`

我的SelectedItemChanged不工作,当我使用透视项,但当我使用一个页面正常SelectedItemChanged通常工作

根据calburn。微文档:

$this -操作附加到的实际ui元素

所以你的选择参数很可能不是String而是ListBox。你有来自Caliburn的关于"action not found"的例外吗?

相关内容

  • 没有找到相关文章

最新更新