2010-10-07 53 views

回答

1

當然。你可以將任何你想要的東西轉換成你想要的東西。你只需要執行如何它被轉換。

然而,如果狀態的數量限制爲4,我會建議使用字符串枚舉而不是因爲這使得它對於重構等安全

類似的東西應該工作:

internal enum State 
{ 
    State1, State2, State3, State4 
} 

// ... 

public void Convert(object value, ...) 
{ 
    if (value is State) 
    { 
     State state = (State)value; 
     switch(state) 
     { 
      case State.State1: 
       return myBrush1; 
      case State.State2: 
       return myBrush2; 
      case State.State3: 
       return myBrush3; 
      case State.State4: 
       return myBrush4; 
     } 
    } 

    return defaultBrush; 
} 

順便說一句:根據情況,使用觸發器可能會更好,但這並非總是可行。