Это зависит. Обычно Ваша причина того, чтобы иметь отдельные.c файлы будет диктовать, должны ли Вы разделить.h файлы.
Если вы работаете с кистями, вы можете взглянуть на Окно просмотра и Окно просмотра в WPF
Изменить: Я только что понял, что Окно просмотра и Окно просмотра используются для Кисти Это не совсем подходит в вашей ситуации. Я поискал его и думаю, вам понравится свойство Clip в UIElement.
Поскольку Canvas также является UIElement, вы можете использовать свойство Clip для имитации области просмотра на Canvas ..
] Щелкните здесь, чтобы увидеть несколько простых типов геометрии
Я думаю, вам будет достаточно RectangleGeometry
<Canvas>
<Canvas.Clip>
<RectangleGeometry Rect="50,50,25,25" />
</Canvas.Clip>
</Canvas>
Редактировать # 2:
Хе-хе, хорошо ... если вы хотите, чтобы отображался весь ваш холст, только меньшего размера, возможно, вам следует взглянуть и LayoutTransform . Затем используйте ScaleTranform , чтобы изменить размер холста;).
<Canvas>
<Canvas.LayoutTransform>
<ScaleTransform CenterX="0" CenterY="0" ScaleX="0.5" ScaleY="0.5" />
</Canvas.LayoutTransform>
</Canvas>
Настройте параметры, пока не получите желаемый эффект;)