Witam serdecznie. Mam problem z WPF i Tabcontrol. Mianowicie próbuję zrobić funkcjonalność która po kliknięciu na zakładce wyświetli komunikat czy na pewno chcesz zmienić zakładkę? Wszystko pięknie udało mi się zaimplementować i wygląda to tak. Jednak tutaj pojawia się problem. Nie zależnie od tego co wybiorę i czy wartość zostanie ustawiona czy nie zakładka i tak zostaje przełączona. Czy ktoś może ma pomysł jak rozwiązać ten problem?
View
<Grid>
<TabControl SelectedIndex="{Binding TabIndex}">
<TabItem Header="Red">
<TextBlock Background="Red"/>
</TabItem>
<TabItem Header="Green">
<TextBlock Background="Green"/>
</TabItem>
<TabItem Header="Blue">
<TextBlock Background="Blue"/>
</TabItem>
</TabControl>
</Grid>
Klasa logger
class MessageService : ILogger
{
public bool Message(string msg)
{
return MessageBox.Show(msg, "Pytanie", MessageBoxButton.YesNo) == MessageBoxResult.No ? true : false;
}
}
ViewModel
public class MainViewModel : ViewModelBase
{
private int _tabIndex;
ILogger logger;
public int TabIndex
{
get => _tabIndex;
set
{
if (value == 1 && logger.Message("Czy na pewno chcesz przejść na zakładkę Green?"))
{
return;
}
_tabIndex = value;
RaisePropertyChanged(nameof(_tabIndex));
}
}
public MainViewModel()
{
logger = new MessageService();
}
}