我有我需要在WPF中多狀態複選框的要求...如何實現多態複選框在WPF的MVVM
而且因爲我使用MVVM這樣處理結合和命令應遵循相同我將在我的視圖中使用它。
我已經看到了一個DotNetNuke的多態複選框(在ASP.NET做),但如何使其在WPF
在這方面一些投入,將有助於
一些示例將是巨大的...
我有我需要在WPF中多狀態複選框的要求...如何實現多態複選框在WPF的MVVM
而且因爲我使用MVVM這樣處理結合和命令應遵循相同我將在我的視圖中使用它。
我已經看到了一個DotNetNuke的多態複選框(在ASP.NET做),但如何使其在WPF
在這方面一些投入,將有助於
一些示例將是巨大的...
複選框具有特定功能(選中,未選中和可選不確定)。
根據你的評論,我認爲這將是最簡單的,只是做一個按鈕。我沒有時間,現在來測試一個實際的例子,但這裏的一些僞代碼,讓你去:
XAML
<Button Command="{Binding ToggleDecisionState}">
<Button.Content>
<Image Source="{Binding CurrentDecisionIcon}" />
<Button.Content>
</Button>
視圖模型(離開了MVVM實施細則)
enum Decisions
{
Agree,
Disagree,
Maybe,
DoNotKnow
};
public Decisions CurrentDecision
{
get {}
set {}
}
public RelayCommand ToggleDecisionStateCommand
{
// In here, call code to execute toggle
if (mCurrentDecision == Decisions.DoNotKnow)
CurrentDecision = Decisions.Agree;
else
CurrentDecision += 1;
}
public ImageSource CurrentDecisionIcon
{
get
{
ImageSource img = [some default image];
switch (mCurrentDecision)
{
case Decisions.Agree:
img = [path to Agree icon];
break;
// Other cases here
}
return img;
}
}
謝謝....我會盡力... :) – Ankesh 2011-06-10 18:26:46
如果你想使用三態複選框,你必須將後面的布爾值(在ViewModel中) 更改爲bool?類型。
public bool? IsEnabled { get; set; }
,並設置該屬性複選框
IsThreeState = True;
我必須顯示更改爲4種不同狀態的圖標同意,不同意,也許,我不在乎..... – Ankesh 2011-06-10 14:19:47
網站中沒有多重狀態複選框的標籤... o_O – Ankesh 2011-06-10 13:31:17
所以......您在哪一部分掙扎? – 2011-06-10 13:47:59
我必須顯示更改圖標4種不同狀態同意,不同意,也許,我不在乎..... – Ankesh 2011-06-10 14:17:38