Mam RibbonComboBox
, która służy do ustawiania rozmiarów czcionek. Ma RibbonGallery
że wymienia różne rozmiary czcionek, wyświetlane w odpowiednim FontSize
:WPF :: Stylizacja wstążkiComboBox inaczej niż wstążkiGaleria
<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 Oto mój 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>;
}
}
}
}
wszystko działa zgodnie z oczekiwaniami, ale po tym, jak wybrać pozycję z galerii pojawia się w RibbonComboBox
z tym samym ogromnym (lub maleńkim) FontSize
, jakiego używa w galerii.
Jak mogę "zresetować" FontSize
wybranego elementu do wartości domyślnej, gdy jest on wyświetlany w RibbonComboBox
?
Czy możesz opublikować swój kod ViewModel? –
Wysłano zgodnie z zapytaniem. –