@startuml
class AnswerField <<partial>> {
    - _maxLength : int = 5
    + MaxLength : int <<get>> <<set>>
    + CellWidth : double <<get>> <<set>>
    + CellHeight : double <<get>> <<set>>
    + CellSpacing : double <<get>> <<set>>
    + BorderThickness : double <<get>> <<set>>
    - _currentAnswer : string = ""
    + CurrentAnswer : string <<get>> <<set>>
    - _correctAnswer : string = ""
    + CorrectAnswer : string <<get>> <<set>>
    + ContentWidth : double <<get>>
    + ContentHeight : double <<get>>
    + AnswerField()
    - InitializeComponent() : void
    + UseColors(uses:LetterUse[]) : ISolidColorBrush[]
    + <<override>> Render(context:DrawingContext) : void
}
class "DirectProperty`2"<T1,T2> {
}
class "StyledProperty`1"<T> {
}
UserControl <|-- AnswerField
AnswerField o-> "MaxLengthProperty<AnswerField,int>" "DirectProperty`2"
AnswerField o-> "CellWidthProperty<double>" "StyledProperty`1"
AnswerField o-> "CellHeightProperty<double>" "StyledProperty`1"
AnswerField o-> "CellSpacingProperty<double>" "StyledProperty`1"
AnswerField o-> "BorderThicknessProperty<double>" "StyledProperty`1"
AnswerField o-> "CurrentAnswerProperty<AnswerField,string>" "DirectProperty`2"
AnswerField o-> "CorrectAnswerProperty<AnswerField,string>" "DirectProperty`2"
@enduml
