2014-08-20 3 views
0

Мои pivotPageViewModelЯ использую Caliburn микро, но не может Действие в SelectedItemChanged

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 не работает, когда я использовать pivotitem, но когда я использую страницу нормальный SelectedItemChanged обычно работают

ответ

0

По Caliburn.Micro документации:

$ это - Реальный элемент пользовательского интерфейса, к которому действие прилагается

Так скорее всего, ваш параметр выбора не является строкой, а ListBox. У вас есть какие-либо исключения из Caliburn о «action not found»?

Смежные вопросы