Ho un RibbonComboBox
utilizzato per impostare le dimensioni dei caratteri. Ha un RibbonGallery
che elenca le varie dimensioni dei caratteri, visualizzati nella appropriata FontSize
:WPF :: Styling del RibbonComboBox in modo diverso rispetto a RibbonGallery
<r:RibbonComboBox DataContext="{x:Static vm:RibbonDataModel.FontSizeComboBoxData}"
SelectionBoxWidth="30">
<r:RibbonGallery MaxColumnCount="1"
Command="{Binding Command}"
CommandParameter="{Binding SelectedItem}">
<r:RibbonGallery.GalleryItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding}"
FontSize="{Binding}" />
</Grid>
</DataTemplate>
</r:RibbonGallery.GalleryItemTemplate>
</r:RibbonGallery>
</r:RibbonComboBox>
EDIT Ecco il mio ViewModel:
public static RibbonDataModel
{
public static GalleryData<object> FontSizeComboBoxData
{
get
{
lock (LockObject)
{
const string key = "Font Size";
if (!DataCollection.ContainsKey(key))
{
var value = new GalleryData<object>
{
Command = HtmlDocumentCommands.ChangeFontSize,
Label = "Change Font Size",
ToolTipDescription = "Set the font to a specific size.",
ToolTipTitle = "Change Font Size",
};
var fontSizes = new GalleryCategoryData<object>();
var i = 9.0;
while (i <= 30)
{
fontSizes.GalleryItemDataCollection.Add(i);
i += 0.75;
}
value.CategoryDataCollection.Add(fontSizes);
DataCollection[key] = value;
}
return DataCollection[key] as GalleryData<object>;
}
}
}
}
tutto funziona come previsto, ma dopo seleziono un elemento dalla galleria, appare nello RibbonComboBox
con lo stesso enorme (o minuscolo) FontSize
utilizzato nella galleria.
Come è possibile "ripristinare" lo FontSize
dell'elemento selezionato su quello predefinito quando viene visualizzato nello RibbonComboBox
?
Puoi pubblicare il codice di ViewModel, per favore? –
Pubblicato come richiesto. –