Creando SolidColorBrush del valor de color hexadecimal

Quiero crear SolidColorBrush a partir de un valor hexadecimal como #ffaacc. ¿Cómo puedo hacer esto?

En MSDN, tengo:

<code>SolidColorBrush mySolidColorBrush = new SolidColorBrush();
mySolidColorBrush.Color = Color.FromArgb(255, 0, 0, 255);
</code>

Así que escribí (considerando que mi método recibe color como#ffaacc):

<code>Color.FromRgb(
  Convert.ToInt32(color.Substring(1, 2), 16), 
  Convert.ToInt32(color.Substring(3, 2), 16), 
  Convert.ToInt32(color.Substring(5, 2), 16));
</code>

Pero esto dio error como

The best overloaded method match for 'System.Windows.Media.Color.FromRgb(byte, byte, byte)' has some invalid arguments

También 3 errores como:Cannot convert int to byte.

Pero entonces, ¿cómo funciona el ejemplo de MSDN?

Respuestas a la pregunta(5)

Su respuesta a la pregunta