Fix runtime type resolution crash in density bindings
Details
Replace compiled binding cast syntax ((vm:TasksViewModel)DataContext)
with reflection binding fallback $parent[UserControl].DataContext inside
DataTemplate — the cast syntax can't resolve plugin types at runtime
within a template context.
Fix task list items expanding beyond left pane width
Details
Root cause: the ListBox in flat sub-mode was wrapped in a redundant
outer ScrollViewer that offered infinite horizontal width during
measure, bypassing the pixel-constrained Grid column width. Since
ListBox already has its own internal ScrollViewer for vertical
scrolling, the outer one was unnecessary and broke width constraint
propagation.
- Remove redundant outer ScrollViewer around flat sub-mode ListBox,
move IsVisible binding to ListBox directly
- Add HorizontalScrollBarVisibility="Disabled" to GTD and Calendar
sub-mode ScrollViewers (these use ItemsControl which has no built-in
scroll, so the outer ScrollViewer is needed but must not offer
unconstrained horizontal space)
Revert to inline Grid split with pixel-based ColumnDefinitions
Details
The SplitPaneLayout custom Control wasn't constraining content width
properly — items expanded beyond pane bounds regardless of Clip,
ClipToBounds, or measure constraints.
Replaced with a standard Grid where ColumnDefinitions start as star
(*) sizing for initial layout, then get switched to pixel-based
GridLength values in OnLoaded + SizeChanged. Pixel-based columns
give the Grid's layout engine an exact width budget for each column,
and content is properly constrained. ClipToBounds on each pane
handles any remaining overflow.
The resize handle, drag interaction, and ratio persistence all work
through the ColumnDefinition.Width property — no FindControl for
child panels needed.
Fix column layout blocks not added from block picker (BUG #7)
Details
The block type picker's InsertBlockType() switch statement had no
cases for columns_2, columns_3, or columns_2_wide_left. Selecting
any column layout from the "/" palette or Add Block button silently
did nothing.
Fix: add AddColumnsBlock relay command to NotesViewModel that
delegates to the existing CreateBlockFromTypeId() (which already
handles all three column variants). Wire the three column type IDs
in the picker's switch statement to call the new command.
Fix cover image buttons unclickable and positioned wrong (BUG #2)
Details
Cover image action buttons (Change/Reposition/Remove) were positioned
at top-right with Margin="0,44,12,0", placing them directly under the
ToolbarHoverZone (ZIndex=1, Height=120 when cover exists). The hover
zone captured all pointer events before they reached the buttons.
Fix: move buttons to bottom-right of the cover (VerticalAlignment=
Bottom, Margin="0,0,12,28") and set ZIndex=2 so they float above the
toolbar hover zone. Buttons now appear on cover hover and are fully
clickable.
Get notified about new releases