Проблема в следующей строке:
<Button Command="{Binding CloseBtn}" />
Вы создали свойство зависимостей в UserControl1, которое вы правильно связываете с этой строкой:
<Controls:UserControl1 CloseBtn="{Binding CloseBtn}" ></Controls:UserControl1>
Но это первое привязка - это привязка к свойству CloseBtn объекта DataContext UserControl. Вместо этого он должен привязаться к свойству зависимостей CloseBtn UserControl. Чтобы это исправить, начните с присвоения имени UserControl:
<UserControl x:Class="YourApp.UserControl1"
... etc ...
x:Name="_this">
, а затем измените привязку команды кнопки, чтобы привязать ее к этому:
<Button Command="{Binding CloseBtn, ElementName=_this}" />
Или, как уже упоминалось в комментарии:
<Button Command="{Binding CloseBtn,
RelativeSource={RelativeSource AncestorType=UserControl}}" />
, где вам не нужно было бы присваивать свойство x:Name
UserControl и, таким образом, избегать создания в противном случае неиспользуемого частного поля.