Одна из причин, Вы не должны (как был сказан) пробует к выделенному этот вид материала сами, то, что у Вас просто нет достаточной информации, чтобы сделать это правильно, особенно в будущее с NUMA, и т.д.
, Если у Вас будет чтение-к-управляемому потока, и существует неактивное ядро, ядро будет выполнять Ваш поток, не волноваться.
Простой способ - не использовать свойство Icon, а вместо этого поместить значок в заголовок:
<Menu>
<MenuItem>
<MenuItem.Header>
<StackPanel>
<Image Width="20" Height="20" Source="/XSoftArt.WPFengine;component/Images/export32x32xp.png" />
<ContentPresenter Content="Reports" />
</StackPanel>
</MenuItem.Header>
</MenuItem>
<MenuItem Header="Export" />
<MenuItem Header="New record" />
</Menu>
В этом простом случае
можно заменить на
, потому что это то, что ContentPresenter будет использовать для представления строки в любом случае. Для более сложного Header =
вы можете использовать ContentPresenter
, как показано.
Как что-то вроде:
<ContextMenu>
<MenuItem Header="Reports">
<MenuItem.Icon>
<Image Source="/XSoftArt.WPFengine;component/Images/export32x32xp.png"/>
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
В случае StackPanel используйте Label, а не TextBlock , поскольку только Label позволит вам иметь мнемонику в меню, например _Reports .