JavaFX 2.0渲染控件内部控件

时间:2011-11-24 07:06:54

标签: styles software-design javafx-2 fxml

我使用.net WPF。使用这个库,我可以完全重新设计每个控件。 F.E. - 我按钮,在按钮内我可以用行和列渲染表格(网格)。然后在表(网格)中的特定协调中,我可以渲染图像,标签或其他东西。

这是重新设计ListBoxItem

的示例
        <Style TargetType="{x:Type ListBoxItem}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type ListBoxItem}">
                        <Grid x:Name="ShortCutGrid"
                          Height="96" 
                          HorizontalAlignment="Left"                               
                          VerticalAlignment="Top" 
                          Width="96"                              
                          Background="Transparent">
                            <Grid>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="96"/>
                                </Grid.ColumnDefinitions>
                                <Grid.RowDefinitions>
                                    <RowDefinition />
                                    <RowDefinition />
                                </Grid.RowDefinitions>
                                <Grid Grid.Row="0">
                                    <Image Grid.Column="1" Name="Image1" Width="48" Height="48" Source="{Binding Path=ImageName}"/>
                                </Grid>
                                <StackPanel Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center">
                                    <Label>
                                        <TextBox Background="Transparent" 
                                                 x:Name="TextBox1" 
                                                 Text="{Binding Path=Text}" 
                                                 Foreground="Black" 
                                                 TextWrapping="WrapWithOverflow" 
                                                 TextAlignment="Center"
                                                 BorderThickness="0"
                                                 IsReadOnly="True"
                                                 Focusable="False"
                                                 Cursor="Arrow">
                                        </TextBox>
                                    </Label>
                                </StackPanel>
                            </Grid>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsSelected" Value="true">
                                <Setter TargetName="TextBox1" Property="Background" Value="Navy"/>
                                <Setter TargetName="TextBox1" Property="Foreground" Value="White"/>
                                <Setter TargetName="Image1" Property="OpacityMask" Value="{StaticResource ShortcutSelected}"/>                                    
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <EventSetter Event="MouseDoubleClick" Handler="listBoxItem_DoubleClick" />
        </Style>

我的问题是:JavaFX 2.0中是否可以在另一个控件中呈现控件 在fxml?

1 个答案:

答案 0 :(得分:0)

使用基本控件,它不是。但是您可以编写自己的控件,其中可以包含任何节点。